HarmonyOS TextInput如何主动调起键盘和多个输入框之间切换键盘?

输入PIN码的页面是四个TextInput组成,如何在页面出现时,主动调起系统键盘并指定第一个textinput为焦点,在监听输入的时候,切换另外的textinput为焦点输入,在输入完成时主动收起键盘。

阅读 629
1 个回答

TextInput是默认绑定软键盘,即进入TextInput页面会自动弹起软键盘,也可以通过focusControl.requestFocus控制。

文档链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-common-events-focus-event-V5\#%E4%B8%BB%E5%8A%A8%E8%8E%B7%E7%84%A6%E5%A4%B1%E7%84%A6

跳转页面:

@Entry
@Component
struct SearchPage {
  aboutToAppear(): void {
    setTimeout(() => {
      focusControl.requestFocus('AAA')
    }, 1000)
  }

  build() {
    Row() {
      Column() {
        TextInput().enableKeyboardOnFocus(true).key('AAA')
      }
      .width('100%')
    }
    .height('100%')
  }
}

注意获取焦点的事件要在页面TextInput渲染完成后调用。当前没有build后的直接回调,可以通过setTimeout异步或注册渲染监听事件判断。参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-arkui-uicontext-V5\#createcomponentobserver

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进