OpenHarmony开发者论坛

标题: TextInput在聚焦时如何使光标回到起点 [打印本页]

作者: Summer    时间: 2023-9-18 10:11
标题: TextInput在聚焦时如何使光标回到起点

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

【运行环境】
硬件:rk3568;  ROM: 3.2  Release;  API 10



作者: 海浪漂啊漂    时间: 2023-9-18 19:45
[md]这两种方式都可以解决:

1. TextInput组件绑定onEditChange事件,该事件TextInput可进行输入时触发。
2. 在事件回调用TextInputController.caretPosition方法设置光标位置,不过需要用到setTimeout延迟方法。

```
@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)

          }

        })

    }

  }

}
```

[/md]




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5