HarmonyOS TextInputController不支持主动设置焦点

提交表单时,校验非法字段,可能会通过唤起对应组件焦点的方式来提示用户需要修改的字段。

当前组件在失焦状态下,无法通过 controller 达成该能力。

已通过 caretPosition、setTextSelection 方法尝试,它们仅在焦点状态下才能够设置光标状态,并不符合在任何状态都可以调整焦点的预期。

@Entry
@Component
struct Index {
  private stack: NavPathStack = new NavPathStack()
  private ref: TextInputController = new TextInputController()

  // @Builder PageBuilder() {
  //   NavDestination() {
  //     Column() {
  //       TextInput({placeholder: '请输入内容'})
  //         .backgroundColor(Color.Orange)
  //     }.width('100%').height('100%')
  //   }
  // }

  aboutToAppear(): void {
    // this.stack.pushPath({
    //   name: 'page'
    // })
  }

  build() {
    Navigation(this.stack) {
      Stack() {
        Column() {
          Stack({alignContent: Alignment.Center}) {
            TextInput({ placeholder: '请输入内容', text: '', controller: this.ref })
              .backgroundColor(Color.Orange)
          }.width('100%').height('20%')
          Flex() {
            Column() {
              Button("blur")
                .onClick(() => {
                  this.ref.stopEditing()
                })
            }
            Column() {
              Button("focus")
                .onClick(() => {
                  this.ref.caretPosition(0)
                  // this.ref.setTextSelection(0, 0)
                })
            }
          }.width('100%').height('20%')
        }.width('100%')
      }.width('100%').height('60%')
    }
    .width('100%').height('100%')
    // .navDestination(this.PageBuilder)
    .title("NavTitle")
  }
}
HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

使用UIContext中的getFocusController()方法获取实例,再通过此实例调用对应方法,能满足当前得诉求。

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-focus-V5#focuscontroller12

分享
微博
QQ
微信
回复
2天前
相关问题
Refresh组件不支持设置nestedScroll属性
1951浏览 • 1回复 待解决
HarmonyOS Span不支持n换行
20浏览 • 1回复 待解决
HarmonyOS image不支持mask吗
36浏览 • 1回复 待解决
web组件不支持localstorage
831浏览 • 1回复 待解决
HarmonyOS 主动获取组件焦点
66浏览 • 1回复 待解决
HarmonyOS 主动获取焦点失败
359浏览 • 1回复 待解决
HarmonyOS Object不支持 ... 展开符吗?
288浏览 • 1回复 待解决
HarmonyOS 不支持通过索引访问字段
331浏览 • 1回复 待解决
HarmonyOS ets不支持匿名类吗?
241浏览 • 2回复 待解决
HarmonyOS Text的Span不支持align
17浏览 • 1回复 待解决
http类不支持cancel方法
201浏览 • 1回复 待解决
HarmonyOS RN使用datetimePicker显示不支持
103浏览 • 1回复 待解决
HarmonyOS关于mqtt不支持ssl协议问题
543浏览 • 2回复 待解决
HarmonyOS 富文本不支持trthtd标签
12浏览 • 1回复 待解决
HarmonyOS react-native-fs不支持downloadFile
483浏览 • 1回复 待解决