uni-ui
uni-ui copied to clipboard
uni-popup-dialog 组件 input 进入页面时自动弹出键盘
使用ios真机测试时复现的问题
官方示例中也有此问题
确实会这样 ,打开后会自动获取焦点
我去年就遇到这个问题,后来为了避开它,自己写input,在 mounted 调用 setTimeout 设置 focus 为true。
现在vue3中,必须要使用uni-pop-dialog 才不报错,结果又遇到这个问题了。
vue3 解决方案:
- 组件上加个v-if和ref
v-if="ifRenderDialog"
ref="inputDialog"
- 声明所需变量
const ifRenderDialog = ref<boolean>(false);
const vm = getCurrentInstance();
const inputDialog = ref<any>(null);
- 之后需要打开popup使用的时候再让他渲染到dom里如下
ifRenderDialog.value = true;
await nextTick();
// @ts-ignore
vm?.refs.inputDialog.open();
感谢反馈,现已添加focus属性,请到插件市场更新,用户可自行控制打开弹窗时是否自动聚焦