HarmonyOS 如何实现点击一个按钮,让textinput获取焦点?

如何实现点击一个按钮,让textinput获取焦点。点击语音按钮,输入框获取焦点并打开键盘。

HarmonyOS
2024-10-28 10:33:55
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

​相关文档参考:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-focus-V5#ZH-CN_TOPIC_0000001893370797__requestfocus9

通过focusControl.requestFocus,实现输入账号后,点击登录按钮后,代码主动设置TextInput获取焦点,可参考下面demo​。

Button("登  录")  
  .width(200)  
  .height(45)  
  .fontSize(28)  
  .type(ButtonType.Normal)  
  .backgroundColor("#30FFFFFF")  
  .border({ width: 1, color: Color.White, radius: 8 })  
  .margin({ top: 50, bottom: 60 })  
  .onClick(() => {  
    let LoginForm: LoginForm = {  
      username: this.username,  
      password: this.password  
    }  
    let requestId = ""  
    // todo: 无法使用for..in遍历对象  
    if (!LoginForm.username) {  
      requestId = "username"  
    } else if (!LoginForm.password) {  
      requestId = "password"  
    } else {  
      promptAction.showToast({ message: 'Login success' })  
      return  
    }  
    let res = focusControl.requestFocus(requestId) // 使选中的this.selectId的组件获焦,这里要注意获焦的id要与组件的id保持一致  
    promptAction.showToast({ message: requestId + '不能为空' })  
  })
分享
微博
QQ
微信
回复
2024-10-28 16:26:46
相关问题
如何设置一个通知按钮
412浏览 • 1回复 待解决
HarmonyOS TextInput自动获取焦点问题
113浏览 • 1回复 待解决