focus="focusStatus" 我使用这种方式,只能第一次设置焦点,第二次就无效了,请问是uniapp的bug吗?
- 发布:2020-08-31 20:16
- 更新:2021-05-28 15:16
- 阅读:3579
uniapp有办法让input二次获得焦点吗
梦尋Junjie - 原来她有男朋友
下面给我的解决方案:
//-> js
data() {
return {
focus:false,
}
}
//-> h5
<input :focus="focus" @blur="focus=false" />
//-> 如何重新获取?
推荐使用定时器, 避免 有些时候不生效
//-> js
setTimeout(()=>{
this.focus = true;
},800); //-> 这里的800毫秒根据你的业务来,我的是有过渡动画,所以需要在动画过渡完成后才会获取,
//-> 注意 每次获取焦点之后 focus的值为 true, 我们需要注意,这是时用的是双向绑定, 如果获取之后 再次赋值为 true, 是有可能不会再次出发获取焦点事件的,
所以我们需要加上@blur="focus=false" , 失去焦点后改为 false, 这样在下次需要获取的时候 才能成功的出发获取焦点事件,
1***@163.com - 一个平凡的码农
this.in_storage_num_focus = false
this.$nextTick(function() {
this.in_storage_num_focus =true
});
input组件里 :focus="in_storage_num_focus "
参考 uni-app常见问题 4. 组件属性设置不生效解决办法
a***@4um.cn (作者)
第三次点击的时候就无法设置焦点了
2020-09-02 16:12
深海智行
回复 a***@4um.cn: 一万次都可以
2020-09-04 11:41
a***@4um.cn (作者)
回复 深海智行: 那第1万零一次就不行了
2020-09-07 10:49
1***@qq.com
谢谢 可以解决我的问题
2020-10-14 13:34