uni-easyinput input手动调用获取焦点办法以及
2024-03-11 本文已影响0人
吉凶以情迁
经过测试发现,focus有时候不能直接设置,调用onFocus()也不能一劳永逸,最后发现正确的办法如下:
直接外部调用focused=true即可,但是第二次会发现不起作用需要改下源码
_Blur加上 this.$set(this, 'focused', false);
_Focus加上 this.$set(this, 'focused', true);
为啥这么写
不这么写出现"set' on proxy: trap returned falsish for property" 的错误,
我这虽然是vue3,但是还是用的vue2的写法,,
错误原因:Vue3的响应式系统(基于Proxy)检测到了无效或不明确的赋值行为。
uniapp定义的input在实际运行后会变成封装的套壳,input在内部所以无法直接调用select()全选,
在移动端运行 没有document api(uni.也封装了query 元素节点的,感兴趣的朋友可以试试)
可以直接绑定select-start
和select-end
实现
而web 还也可以通过query 内部的input 调用select()
实现