• Lv0
    粉丝0

积分77 / 贡献0

提问30答案被采纳0文章0

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

Summer 显示全部楼层 发表于 2023-9-18 10:11:24

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

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


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

精彩评论1

海浪漂啊漂

沙发 发表于 2023-9-18 19:45:13

这两种方式都可以解决:

  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!

返回顶部