讨论广场 问答详情
TextInput在聚焦时如何使光标回到起点
HarmonyOS社区小助手 2024-01-22 13:49:19
72 评论 分享
鸿蒙官网鸿蒙应用开发

如题

72 评论 分享
写回答
全部评论(2)

代码示例

@Entry 
@Component 
struct TextInputDemo { 
  controller: TextInputController = new TextInputController(); 
 
  build() { 
    Column() { 
      TextInput({ controller: this.controller }) 
        .onEditChange((isEditing: boolean) => { 
          if (isEditing) { 
            setTimeout(() => { 
              this.controller.caretPosition(0); 
            }, 100) 
          } 
        }) 
    } 
  } 
}

 

2024-01-22 13:50:55

解决措施
1.TextInput组件绑定onEditChange事件,该事件可以在TextInput进行输入时触发。
2.在事件回调用TextInputController.caretPosition方法设置光标位置,并需要用到setTimeout延迟方法。
参考链接
TextInput组件

2024-01-22 13:50:52