HarmonyOS 页面有个input,不点击input,如何用代码触发焦点,使其打开键盘?

HarmonyOS
4天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

让某个输入框获取焦点可以使用sendEventByKey方法像该组件发送一个点击事件,以下是简单示例,点击获取验证码按钮,呼出键盘:

@Entry
@Component
struct TextInputExample {
  @State text: string = ''
  controller: TextInputController = new TextInputController()

  build() {
    Column() {
      Row() {
        TextInput({
          text: this.text,
          placeholder: '请输入用户名',
          controller: this.controller
        })
          .height(40)
          .margin(20)
          .fontSize(14)
          .width('90%')
          .id('t1')
      }

      Row() {
        TextInput({ placeholder: '请输入密码' })
          .height(40)
          .margin(20)
          .type(InputType.Number)
          .maxLength(9)
          .width('60%')
          .id('t2')
        Button('获取验证码')
          .onClick(() => {
            /**
             *  id:要触发事件的组件的id
             * params: 事件参数,无参数传空字符串
             */
            sendEventByKey('t2', 10, '');
          })
          .width('30%')
      }
      .justifyContent(FlexAlign.SpaceBetween)
      .width('100%')
    }
  }
}

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

分享
微博
QQ
微信
回复
4天前
相关问题
ets的text input手动控制获得和失去焦点
4656浏览 • 1回复 待解决
HarmonyOS APP_INPUT_BLOCK崩溃
1151浏览 • 1回复 待解决
HarmonyOS input的cancleButton无法对齐
24浏览 • 1回复 待解决
HarmonyOS 如何实现图中的input控件效果
413浏览 • 1回复 待解决
js如何清空一input 输入框的内容
7748浏览 • 1回复 待解决
【ETS】ets没有input如何实现输入?
8580浏览 • 2回复 待解决
JS中的input值文本对齐该如何实现?
8416浏览 • 1回复 待解决
Input组件是否支持设置文本居中对齐
1984浏览 • 1回复 待解决
input_enter_key_type设置没生效
6470浏览 • 1回复 待解决
提问
该提问已有0人参与 ,帮助了0人