HarmonyOS 在@CustomDialog中使用TextArea关闭弹窗后,键盘没有隐藏

@CustomDialog
export struct HpMatchRoomChatMsgDialog {
  build() {
    TextArea({
      placeholder: 'ArkTS提供了简洁自然的声明式语法',
      text: $$this.text,
      controller: this.textAreaController
    })
      .defaultFocus(true)
      .placeholderColor($r('app.color.tertiary_text'))
      .placeholderFont({
        size: $r('app.float.body2')
      })
      .fontSize($r('app.float.body2'))
      .fontColor($r('app.color.primary_text'))
      .backgroundColor($r('app.color.bg_click'))
      .borderRadius(2)
      .layoutWeight(1)
      .enterKeyType(EnterKeyType.Send)
      .onSubmit(() => {
        this.sendMsg()
      })
  }
}
HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

参考示例:

@Entry
@Component
struct Page_3058 {
  @State message: string = 'Hello World';
  dialogController: CustomDialogController = new CustomDialogController({
    builder: CustomDialogExample(),
  })

  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
          .onClick(() => {
            this.dialogController.open()
          })
      }
      .width('100%')
    }
    .height('100%')
  }
}

@CustomDialog
struct CustomDialogExample {
  controller: CustomDialogController = new CustomDialogController({
    builder: CustomDialogExample({}),
  })
  Textcontroller: TextAreaController = new TextAreaController()
  @State text: string = ''

  build() {
    Column() {

      TextArea({
        placeholder: 'ArkTS提供了简洁自然的声明式语法',
        text: this.text,
        controller: this.Textcontroller
      })
        .maxLines(3)
        .defaultFocus(true)
        .borderRadius(2)
        .layoutWeight(1)
        .enterKeyType(EnterKeyType.Send)

    }.height('30%')
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 如何先关闭键盘关闭弹窗
460浏览 • 1回复 待解决
HarmonyOS 安全控件无法弹窗中使用
510浏览 • 1回复 待解决
@watch中使用异步方法UI反应慢
448浏览 • 1回复 待解决