页面中需要有承接焦点的组件,如果没有其他组件,组件中的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) } } }页面上移:可以通过安全区属性expandSafeArea进行处理
页面中需要有承接焦点的组件,如果没有其他组件,组件中的TextInput就会聚焦;
可以将焦点转移实现取消TextInput获取焦点的效果;
示例代码
因为根据是否存在默认交互逻辑,可将组件分为可获焦和不可获焦组件,所以将焦点转移的时候有两种方案:
1、存在默认交互逻辑的组件(默认可获焦):Button、TextInput等,只需通过将defaultFocus属性设置为true即可获取焦点:
2、不存在默认交互逻辑的组件(默认不可获焦):Text、Image等,通过将focusable设置为true将此类组件转换为可获焦状态后再获取焦点
页面上移:可以通过安全区属性expandSafeArea进行处理