TextInput如何取消默认聚焦效果

TextInput如何取消默认聚焦效果

HarmonyOS
2024-02-20 09:51:05
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
savan

页面中需要有承接焦点的组件,如果没有其他组件,组件中的TextInput就会聚焦;可以将焦点转移实现取消TextInput获取焦点的效果。

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

  • 方案一:存在默认交互逻辑的组件(默认可获焦):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) 
     } 
   } 
 }
  • 方案二:不存在默认交互逻辑的组件(默认不可获焦):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) 
     } 
   } 
 }

参考链接

焦点控制

焦点事件

已于2024-2-21 18:27:58修改
分享
微博
QQ
微信
回复
2024-02-20 19:28:46
相关问题
TextInput聚焦如何使光标回到起点
772浏览 • 1回复 待解决
TextInput聚焦如何让光标回到起点
832浏览 • 3回复 待解决
TextInput是否能自定义hover效果
1011浏览 • 1回复 待解决
TextInput的onSubmit事件如何使用
933浏览 • 1回复 待解决
如何监听TextInput是否获得焦点
734浏览 • 1回复 待解决
Image组件如何设置默认图?
553浏览 • 1回复 待解决
鸿蒙开发如何默认启动ability
7271浏览 • 3回复 待解决
java蓝牙开发怎么取消配对
3785浏览 • 1回复 待解决
TextInput怎么输入中文
1562浏览 • 0回复 待解决
如何将List的回弹效果改为阴影效果
28浏览 • 1回复 待解决
TextInput按压态背景色如何修改
1010浏览 • 1回复 待解决
如何把导航默认在最底下显示?
400229浏览 • 1回复 待解决
canvas如何实现水印效果
427浏览 • 1回复 待解决
如何实现星级评分效果
92浏览 • 1回复 待解决
组件如何设置模糊效果
815浏览 • 1回复 待解决
如何实现视频滤镜效果
832浏览 • 1回复 待解决