在HarmonyOS NEXT开发中TextInput自动获取焦点问题?

在HarmonyOS NEXT开发中TextInput自动获取焦点问题?页面上上下排列了一个TextInput和一个按钮,点击 按钮会使用CustomDialogController弹窗,关闭弹窗后,TextInput自动获取焦点····,怎么不让他自动获取焦点,设置了.defaultFocus(false).groupDefaultFocus(false)都没用

阅读 1.1k
1 个回答

可使用requestFocus 方式,下面是相关demo:

import prompt from '@ohos.prompt'; 
 
@Entry 
@Component 
struct Index { 
  @State message: string = 'Hello World'; 
  @State isboole: boolean = true; 
 
  build() { 
    Row() { 
      Column() { 
        Text(this.message) 
          .id('1sa') 
          .fontSize(50) 
          .fontWeight(FontWeight.Bold) 
        Button('我会获取焦点') 
          .key('BBB') 
        TextInput({ placeholder: 'AAAAA' }) 
          .id('AAAA1') 
          .type(InputType.Normal) 
        Button('点击焦点转移') 
          .onClick(() => { 
            let res = focusControl.requestFocus('BBB') 
            if (res) { 
              prompt.showToast({ message: 'Request success' }) 
            } else { 
              prompt.showToast({ message: 'Request failed' }) 
            } 
          }) 
        Button('点击获取焦点') 
          .onClick(() => { 
            this.isboole = true 
            sendEventByKey("AAAA1", 10, "") // 向id为"longClick"的组件发送点击事件 
          }) 
      } 
      .width('100%') 
    } 
    .height('100%') 
  } 
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进