HarmonyOS 获取焦点弹出键盘后,点击空白区域不能自动取消焦点

HarmonyOS
2024-12-18 16:29:17
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

可以通过空白部分的点击事件,动态的修改TextInput的属性不可获焦,然后通过TextInput的点击事件设置可获焦。或者通过转移焦点到其他非关键组件上使当前TextInput失焦

@Entry
@Component
struct FocusableExample {
  @State inputValue: string = ''
  @State textInputFocusAble: boolean = true;
  controller: TextInputController = new TextInputController()

  build() {
    Column() {
      TextInput({ placeholder: 'wait input...', text: '', controller: this.controller })
        .id("textInput")
        .focusable(this.textInputFocusAble)
        .margin({ top: 150 })
    }
    .onClick(() => {
      this.textInputFocusAble = false;
      let setFocusAble = setInterval(() => {
        this.textInputFocusAble = true;
        clearInterval(setFocusAble)
      }, 100)
    })
    .backgroundColor(Color.Grey)
    .height("100%")
  }
}
分享
微博
QQ
微信
回复
2024-12-18 18:46:44
相关问题
HarmonyOS 键盘焦点不能自动上推屏幕
197浏览 • 1回复 待解决
TextInput如何取消自动获得焦点
847浏览 • 1回复 待解决
HarmonyOS 输入框获取焦点无法弹出
381浏览 • 1回复 待解决
HarmonyOS TextInput无法取消焦点
573浏览 • 1回复 待解决
HarmonyOS TextInput自动获取焦点问题
421浏览 • 1回复 待解决
HarmonyOS TextInput 取消默认焦点
775浏览 • 1回复 待解决
HarmonyOS Image获取焦点和失去焦点失效
214浏览 • 1回复 待解决