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聚焦如何使光标回到起点
674浏览 • 1回复 待解决
TextInput聚焦如何让光标回到起点
735浏览 • 3回复 待解决
TextInput是否能自定义hover效果
890浏览 • 1回复 待解决
TextInput的onSubmit事件如何使用
825浏览 • 1回复 待解决
如何监听TextInput是否获得焦点
639浏览 • 1回复 待解决
Image组件如何设置默认图?
501浏览 • 1回复 待解决
鸿蒙开发如何默认启动ability
7127浏览 • 3回复 待解决
java蓝牙开发怎么取消配对
3653浏览 • 1回复 待解决
TextInput怎么输入中文
1403浏览 • 0回复 待解决
TextInput按压态背景色如何修改
890浏览 • 1回复 待解决
如何把导航默认在最底下显示?
400090浏览 • 1回复 待解决
如何知道应用是否是默认应用
363浏览 • 0回复 待解决
鸿蒙webview如何去除默认的白色背景?
3077浏览 • 1回复 待解决
ListContainer中的Item能取消拖拽吗
3935浏览 • 1回复 待解决
同意取消的弹窗怎么实现?用哪个方法
3629浏览 • 1回复 待解决
如何去掉Scroll回弹效果
288浏览 • 1回复 待解决
如何设置组件透明效果
686浏览 • 1回复 待解决