• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# ArkUI子系统Changelog
2
3## cl.arkui.1 TextInput、TextArea、Search组件onChange事件参数内容变更
4
5**访问级别**
6
7公开接口
8
9**变更原因**
10
11在预上屏输入功能启用时,当先选中一段文本再进行输入,onChange回调中的value字段将仅反映实际显示的上屏文本,不再包含原先选中的文本内容,以此确保value字段与用户界面显示的文本一致。
12
13**变更影响**
14
15此变更不涉及应用适配。
16
17运行如下示例代码:
18
19```ts
20// Index.ets
21@Entry
22@Component
23struct TextInputExample {
24  @State text: string = ''
25  controller: TextInputController = new TextInputController()
26
27  onPageShow(): void {
28    setTimeout(() => {
29      this.controller.setTextSelection(0,3);
30    }, 10);
31  }
32  build() {
33    Column() {
34      TextInput({ text:"12345",  controller: this.controller })
35        .width(380)
36        .height(60)
37        .defaultFocus(true)
38        .onChange((value: string) => {
39          console.log("value is" + value)
40        })
41    }
42  }
43}
44```
45变更前:
46开启预上屏输入,输入过程中,onChange回调的值为“12345”
47
48变更后:
49开启预上屏输入,输入过程中,onChange回调的值为“45”
50
51**起始API Level**
52
53API 12
54
55**变更发生版本**
56
57从OpenHarmony SDK 5.1.0.46开始。
58
59**变更的接口/组件**
60
61TextInput组件onChange事件的EditableTextOnChangeCallback参数
62
63TextArea组件onChange事件的EditableTextOnChangeCallback参数
64
65Search组件onChange事件的EditableTextOnChangeCallback参数
66
67**适配指导**
68
69变更后value参数的内容将与实际显示内容保持一致,无需进行额外的适配。若开发者希望获取全部文本内容,可利用onEditChange等事件,在输入开始前进行获取并记录。
70
71## cl.arkui.2 Text的minFontSize、maxFontSize在子组件span或属性字符串场景下,文本自适应字号设置生效
72
73**访问级别**
74
75公开接口
76
77**变更原因**
78
79能力增强,方便开发者对不同文字样式的文字做字号的适应。
80
81**变更影响**
82
83此变更涉及应用适配。
84
85变更前,Text的minFontSize、maxFontSize在子组件Span或属性字符串场景下,文本自适应字号设置不生效。
86
87变更后,Text的minFontSize、maxFontSize在子组件Span或属性字符串场景下,文本自适应字号设置生效。
88
89如下是属性字符串和Span子组件场景变更前后效果对比:
90
91|               变更前                |              变更后               |
92| :---------------------------------: | :-------------------------------: |
93|![](figures/before_span_adapter.png)|![](figures/after_span_adapter.png)|
94
95**起始API Level**
96
97API 7
98
99**变更发生版本**
100
101从OpenHarmony SDK 5.1.0.46开始。
102
103**变更的接口/组件**
104
105Text组件的minFontSize、maxFontSize接口。
106
107**适配指导**
108
109如果在Text使用子组件或属性字符串场景下,设置了minFontSize、maxFontSize,变更后自适应字号生效,导致字号变化,如果需要保持之前的字号,可以删除minFontSize、maxFontSize属性设置。
110
111## cl.arkui.3 FrameNode被UINode包裹时isVisible接口返回值发生变更
112
113**访问级别**
114
115公开接口
116
117**变更原因**
118
119用户使用FrameNode的isVisible接口时,节点会依次向上层父节点查询可见性,如果父节点不可见,子节点也不可见。但如果子节点被UINode类型节点(如IfElse、ForEach、LazyForEach等)包裹,则向上查找过程被阻塞,无法继续查询父节点可见性。
120
121**变更影响**
122
123此变更不涉及应用适配。
124
125变更前:父节点设为不可见、子节点设为可见时,如果子节点被UINode类型节点包裹,子节点调用isVisible结果为true。
126
127变更后:父节点设为不可见、子节点设为可见时,如果子节点被UINode类型节点包裹,子节点调用isVisible结果为false。
128
129父节点设为不可见、子节点设为可见时,如果子节点被UINode类型节点包裹,调用isVisible接口返回值结果变更前后会不一致,例如:
130```ts
131import { FrameNode } from '@kit.ArkUI'
132
133@Entry
134@Component
135struct Index {
136  private stackNode: FrameNode | null = null
137  private columnNode: FrameNode | null = null
138
139  build() {
140    Column() {
141      Stack() {
142        if (true) {
143          Column()
144            .id("column")
145            .visibility(Visibility.Visible)
146        }
147      }
148      .id("stack")
149      .visibility(Visibility.Hidden)
150
151      Button("print")
152        .onClick(() => {
153          this.stackNode = this.getUIContext().getFrameNodeById("stack")
154          this.columnNode = this.getUIContext().getFrameNodeById("column")
155          if (this.stackNode) {
156            // Stack节点的可见性,为false
157            console.log("stackNode.isVisible:", this.stackNode.isVisible())
158          }
159          if (this.columnNode) {
160            // Column节点的可见性,变更前为true,变更后为false
161            console.log("columnNode.isVisible:", this.columnNode.isVisible())
162          }
163        })
164    }
165  }
166}
167```
168
169**起始API Level**
170
171API 12
172
173**变更发生版本**
174
175从OpenHarmony SDK 5.1.0.46开始。
176
177**变更的接口/组件**
178
179FrameNode.d.ts文件isVisible接口。
180
181**适配指导**
182
183默认行为变更,无需适配。
184
185## cl.arkui.4 TextClock、TextTimer使用start、end参数设置borderColor、margin、padding行为更改
186
187**访问级别**
188
189公开接口
190
191**变更原因**
192
193TextClock、TextTimer使用start、end参数设置borderColor、margin、padding未生效。
194
195**变更影响**
196
197此变更无需应用适配。
198
199| 变更前                                                                                                                     | 变更后                                                                                                                   |
200| -------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
201| 使用start、end参数设置borderColor、margin、padding不生效。<br>![textclock_before](figures/textclock_before.png)| 使用start、end参数设置borderColor、margin、padding生效。<br>![textclock_after](figures/textclock_after.png) |
202
203**起始API Level**
204
20512
206
207**变更发生版本**
208
209从OpenHarmony 5.1.0.46 版本开始。
210
211**变更的接口/组件**
212
213TextClock、TextTimer。
214
215**适配指导**
216
217正确使用start、end参数设置borderColor、margin、padding。
218
219示例:
220```
221import { LengthMetrics } from '@kit.ArkUI'
222@Entry
223@Component
224struct Index {
225
226  build() {
227    Column(){
228      TextClock().borderWidth(50)
229        .borderColor({start: "#D5D5D5", end: "#D5D5D5", top: "#D5D5D5", bottom: "#D5D5D5"})
230        .padding({start: LengthMetrics.vp(20), end: LengthMetrics.vp(40)})
231        .margin({start: LengthMetrics.vp(20), end: LengthMetrics.vp(40)})
232    }
233  }
234}
235```
236
237## cl.arkui.5 Search组件searchButton属性行为变更,设置为undefined后,获取searchButton属性的值为空
238**访问级别**
239
240公开接口
241
242**变更原因**
243
244Search组件searchButton属性设置为undefined后,变更前获取searchButton属性值会取得上一次设置的值,此行为非预期行为,变更后改为获取到空值。
245
246**变更影响**
247
248此变更不涉及应用适配。
249
250| 变更前 | 变更后 |
251|------ |--------|
252|Search组件searchButton属性设置为undefined后,获取属性值为上一次设置的值,且会导致分隔线不消失。<br>![search_button_before](figures/search_button_before.png)|Search组件searchButton属性设置为undefined后,获取属性值为空,分隔线隐藏<br>![search_button_after](figures/search_button_after.png)|
253
254**起始API Level**
255
2567
257
258**变更发生版本**
259
260从OpenHarmony 5.1.0.46 版本开始。
261
262**变更的接口/组件**
263
264search.d.ts文件searchButton接口。
265
266**适配指导**
267
268默认行为变更,无需适配。