HarmonyOS @Builder函数接收的状态变量未引起内部ui变化
ChangePinPage界面唤起了自定义键盘,在自定义键盘的按钮组件中修改了currentKeyboardType键盘类型来切换中英文键盘,但是CustomKeyboard.ets中Text(${$$.currentKeyboardType})的值并未变化。
//xxxModel.ets
export class Tmp {
inputController: TextInputController;
currentKeyboardType: number;
constructor(inputController: TextInputController, currentKeyboardType: number) {
this.inputController = inputController;
this.currentKeyboardType = currentKeyboardType
}
}
# ChangePinPage.ets:
@Provide currentKeyboardType: number = Const.KEYBOARD_TYPE_NUMBER;
...
TextInput()
.customKeyboard(KeyBoardWindow(new Tmp(this.oldPinController, this.currentKeyboardType)))
# CustomKeyboard.ets:
@Builder
export function KeyBoardWindow($$: Tmp) {
Column() {
Row() {
Image($r("app.media.ic_keyboard_down"))// 标题行的”收起“图标
.onClick(() => {
$$.inputController.stopEditing()
})
Text(`${$$.currentKeyboardType}`)
}
}
// xxxChild.ets ...
@Consume currentKeyboardType: number;
...
this.currentKeyboardType = 2;
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
ArkTS中如何监听状态变量的变化?
1498浏览 • 1回复 待解决
HarmonyOS 怎么实现状态变量变化时,触发指定函数
181浏览 • 1回复 待解决
自定义组件中,批量更新多个状态变量 vs 批量更新多个非状态变量后更新一个UI无关状态变量强制更新UI
2160浏览 • 1回复 待解决
HarmonyOS @Builder嵌套二层传递状态变量无法识别
221浏览 • 1回复 待解决
#鸿蒙学习大百科#状态变量的变化何时会触发UI刷新?
544浏览 • 1回复 待解决
HarmonyOS constraintSize支持状态变量?
509浏览 • 1回复 待解决
HarmonyOS taskpool参数是状态变量crash
262浏览 • 1回复 待解决
HarmonyOS 状态变量不刷新问题
1045浏览 • 1回复 待解决
状态变量和常规变量有什么区别?
839浏览 • 2回复 待解决
HarmonyOS hidumper查看状态变量关联的组件数
315浏览 • 1回复 待解决
HarmonyOS zIndex能否通过状态变量来更新
296浏览 • 1回复 待解决
HarmonyOS 状态变量更新及其@watch监听问题
358浏览 • 1回复 待解决
关于状态变量@state必须知道的事
1708浏览 • 1回复 待解决
HarmonyOS builder按引用传参数时可以用哪些装饰器对应的状态变量
395浏览 • 1回复 待解决
HarmonyOS 关于状态变量深层次响应的问题
298浏览 • 1回复 待解决
HarmonyOS 每个页面相同的状态变量如何封装?
616浏览 • 1回复 待解决
HarmonyOS 外部类方法如何改变组件状态变量
246浏览 • 1回复 待解决
HarmonyOS 组件状态变量改变,build重绘问题
413浏览 • 1回复 待解决
#鸿蒙通关秘籍#怎样在ArkTS中使用@Watch装饰器监听状态变量的变化?
819浏览 • 1回复 待解决
如何将界面上的状态变量传给服务层,在服务层修改状态变量对象的属性刷新页面
956浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中使用@Watch装饰器监听状态变量变化?
383浏览 • 1回复 待解决
@Provide的状态变量,是否可以观察多层嵌套的属性?
1245浏览 • 1回复 待解决
HarmonyOS @Watch可以观察到@Consume装饰的状态变量更改吗
355浏览 • 1回复 待解决
backgroud()方法使用@State修饰的状态变量值更新后未能触发不同的@builder方法刷新
2692浏览 • 1回复 待解决
全局@Builder自定义构建函数,采用引用传递,如果放在Navigation()的menus内,状态变量的改变不会触发@Builder方法内的UI刷新
按引用传递参数时,传递的参数可为状态变量,且状态变量的改变会引起@Builder方法内的UI刷新。参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-builder-V5
相关demo