积分186 / 贡献0

提问5答案被采纳14文章0

作者动态

TextInput在聚焦时如何使光标回到起点 精华

今天也很开心 显示全部楼层 发表于 2023-9-14 09:23:45

【问题描述】

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

【运行环境】

硬件:rk3568; ROM: 3.2 Release; API 10

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论1

mean

沙发 发表于 2023-10-8 16:50:11

这两种方式都可以解决:

  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)

          }

        })

    }

  }

}

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部