TextInput在聚焦时如何让光标回到起点

TextInput组件在聚焦时,光标位置会自动根据触摸点位置变化,如何使得聚焦时光标固定显示在起点位置?

HarmonyOS
2024-02-20 11:03:44
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
morning_dxm

1. TextInput组件绑定onEditChange事件,该事件TextInput可进行输入时触发。

2. 在事件回调用TextInputController.caretPosition方法设置光标位置,需要用到setTimeout()延迟方法。

示例代码

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

参考链接

TextInput

分享
微博
QQ
微信
回复
2024-02-20 20:01:14
相关问题
TextInput聚焦如何使光标回到起点
243浏览 • 1回复 待解决
TextInput如何取消默认聚焦效果
266浏览 • 1回复 待解决
如何代码鸿蒙内核态运行?
5118浏览 • 1回复 待解决
TextInput的onSubmit事件如何使用
264浏览 • 1回复 待解决
TextInput怎么输入中文
863浏览 • 0回复 待解决
TextInput按压态背景色如何修改
395浏览 • 1回复 待解决
TextInput 怎么设置不可编辑?
342浏览 • 1回复 待解决
如何应用后台持续运行
14749浏览 • 2回复 待解决
如何最大化按钮不可用
287浏览 • 1回复 待解决