HarmonyOS Focus进入时弹出键盘问题

​预期:进入时不弹出键盘。

实际上:弹出​。

@Component  
export struct ExpandTextComponent {  
  @State text: string = ''  
  controller: TextAreaController = new TextAreaController()  
  
  build() {  
    Column() {  
      Column({ space: 50 }) {  
        TextArea({  
          text: this.text,  
          placeholder: 'The text area can hold an unlimited amount of text. input your word...',  
          controller: this.controller  
        })  
          .id("TextArea_ID")  
          .defaultFocus(false)  
          .placeholderFont({ size: 16, weight: 400 })  
          .width(336)  
          .height(56)  
        Row() {  
          Button('open TextArea')  
            .onClick(() => {  
              sendEventByKey("TextArea_ID", 10, "")  
            })  
          Button('cloas TextArea')  
            .onClick(() => {  
              this.controller?.stopEditing()  
  
            })  
        }  
      }  
      .width('100%')  
      .height('100%')  
    }  
    .backgroundColor(Color.Orange)  
    .size({ width:'100%',height:'100%' })  
  }  
}
HarmonyOS
2024-10-28 10:03:24
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

​给TextArea添加.enableKeyboardOnFocus(false),能否满足您的需求。

文档:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-textarea-V5#ZH-CN_TOPIC_0000001847209048__enablekeyboardonfocus10

根据的您的描述,以下方案能否满足您的需求​。

@Component  
export struct ExpandTextComponent {  
  @State text: string = ''  
  controller: TextAreaController = new TextAreaController()  
  // 默认不展示键盘  
  @State isShowKey: boolean = false;  
  
  aboutToAppear(): void {  
    // 根据业务需要,特殊情况下显示键盘  
    setTimeout(() => {  
      if (true) {  
        this.isShowKey = true  
        focusControl.requestFocus('TextArea_ID')  
      }  
    }, 1000)  
  }  
  build() {  
    Column() {  
      Column({ space: 50 }) {  
        TextArea({  
          text: this.text,  
          placeholder: 'The text area can hold an unlimited amount of text. input your word...',  
          controller: this.controller  
        })  
          .id("TextArea_ID")  
          .focusable(this.isShowKey)  
          .placeholderFont({ size: 16, weight: 400 })  
          .width(336)  
          .height(56)  
        Row() {  
          Button('open TextArea')  
            .onClick(() => {  
              sendEventByKey("TextArea_ID", 10, "")  
            })  
          Button('cloas TextArea')  
            .onClick(() => {  
              this.controller?.stopEditing()  
            })  
        }  
      }  
      .width('100%')  
      .height('100%')  
    }  
    .backgroundColor(Color.Orange)  
    .size({ width:'100%',height:'100%' })  
  }  
}
分享
微博
QQ
微信
回复
2024-10-28 16:31:43
相关问题
HarmonyOS web弹起键盘问题
47浏览 • 1回复 待解决
HarmonyOS TextInput调用系统键盘问题
128浏览 • 1回复 待解决
HarmonyOS TextInput自定义键盘问题
381浏览 • 1回复 待解决
HarmonyOS TextInput绑定自定义键盘问题
368浏览 • 1回复 待解决
关于软键盘弹出遮挡问题
1053浏览 • 1回复 待解决
HarmonyOS 如何监听键盘弹出收回?
224浏览 • 1回复 待解决
HarmonyOS TextInput如何主动弹出键盘
190浏览 • 1回复 待解决
HarmonyOS Toast弹出的时候被键盘遮挡
321浏览 • 1回复 待解决
HarmonyOS 如何代码控制软键盘弹出
301浏览 • 1回复 待解决
设置键盘弹出内容上移
304浏览 • 1回复 待解决
如何判断软键盘是否弹出
1975浏览 • 1回复 待解决
并发问题和内存数据刷盘问题
4033浏览 • 1回复 待解决
键盘弹出时,页面的自适应
1308浏览 • 1回复 待解决
HarmonyOS 键盘事件监听问题
330浏览 • 1回复 待解决