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聚焦如何让光标回到起点
180浏览 • 1回复 待解决
TextInput聚焦如何使光标回到起点
225浏览 • 1回复 待解决
TextInput是否能自定义hover效果
314浏览 • 1回复 待解决
TextInput的onSubmit事件如何使用
238浏览 • 1回复 待解决
java蓝牙开发怎么取消配对
3132浏览 • 1回复 待解决
TextInput怎么输入中文
821浏览 • 0回复 待解决
ListContainer中的Item能取消拖拽吗
3441浏览 • 1回复 待解决
鸿蒙开发如何默认启动ability
6454浏览 • 3回复 待解决
如何实现视频滤镜效果
256浏览 • 1回复 待解决
组件如何设置模糊效果
214浏览 • 1回复 待解决
TextInput 怎么设置不可编辑?
321浏览 • 1回复 待解决
TextInput按压态背景色如何修改
358浏览 • 1回复 待解决
文字动画效果如何实现
124浏览 • 0回复 待解决
如何实现类似keyframes的效果
208浏览 • 1回复 待解决
如何去除Checkbox的阴影效果
191浏览 • 1回复 待解决
鸿蒙webview如何去除默认的白色背景?
2486浏览 • 1回复 待解决
TextInput组件获取焦点的几种场景
241浏览 • 1回复 待解决
如何把导航默认在最底下显示?
399463浏览 • 1回复 待解决