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

HarmonyOS
9h前
浏览
收藏 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
微信
回复
7h前
相关问题
TextInput如何取消自动获得焦点
574浏览 • 1回复 待解决
HarmonyOS TextInput自动获取焦点问题
0浏览 • 0回复 待解决
HarmonyOS TextInput 取消默认焦点
517浏览 • 1回复 待解决
HarmonyOS TextInput无法取消焦点
314浏览 • 1回复 待解决
HarmonyOS 主动获取组件焦点
4浏览 • 1回复 待解决
HarmonyOS 主动获取焦点失败
325浏览 • 1回复 待解决