HarmonyOS 如何取消TextInput自动聚焦

HarmonyOS  如何取消TextInput自动聚焦。

HarmonyOS
2024-09-26 11:36:28
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

页面中需要有承接焦点的组件,如果没有其他组件,组件中的TextInput就会聚焦。

可以将焦点转移实现取消TextInput获取焦点的效果。

示例代码:

因为根据是否存在默认交互逻辑,可将组件分为可获焦和不可获焦组件,所以将焦点转移的时候有两种方案:

1、存在默认交互逻辑的组件(默认可获焦):Button、TextInput等,只需通过将defaultFocus属性设置为true即可获取焦点:

@Entry  
@Component  
struct Index {  
  controller: TextInputController = new TextInputController()  
  
  build() {  
    Row() {  
      TextInput({  
        placeholder: 'wait input...',  
        text: '',  
        controller: this.controller  
      })  
      Button('placeholder')  
        .defaultFocus(true)  
    }  
  }  
}

2、不存在默认交互逻辑的组件(默认不可获焦):Text、Image等,通过将focusable设置为true将此类组件转换为可获焦状态后再获取焦点。

@Entry  
@Component  
struct Index {  
  controller: TextInputController = new TextInputController()  
  
  build() {  
    Row() {  
      TextInput({  
        placeholder: 'wait input...',  
        text: '',  
        controller: this.controller  
      })  
      Text('placeholder')  
        .focusable(true)  
        .defaultFocus(true)  
    }  
  }  
}
分享
微博
QQ
微信
回复
2024-09-26 17:03:44
相关问题
TextInput如何取消默认聚焦效果
2435浏览 • 1回复 待解决
Textinput是否支持自动聚焦
273浏览 • 1回复 待解决
TextInput如何取消自动获得焦点
602浏览 • 1回复 待解决
HarmonyOS TextInput 取消默认焦点
531浏览 • 1回复 待解决
HarmonyOS TextInput无法取消焦点
330浏览 • 1回复 待解决
HarmonyOS TextArea显示时无法自动聚焦
48浏览 • 1回复 待解决
TextInput聚焦如何让光标回到起点
2376浏览 • 3回复 待解决
TextInput聚焦如何使光标回到起点
1853浏览 • 1回复 待解决
HarmonyOS TextInput自动获取焦点问题
82浏览 • 1回复 待解决
取消点击textinput时的背景高亮样式
622浏览 • 1回复 待解决
TextInput输入行满时无法自动换行
423浏览 • 1回复 待解决
HarmonyOS Tabs如何取消弹簧效果
360浏览 • 1回复 待解决