表单点击‘提交’时,校验所有表单元素,发现校验失败时,通常需要获取焦点,试过多种方式,最后发现如此简单~
//template代码
<input
:class="`uni-input ${field?.name === 'parent_mobile' ? 'uni-input-disabled' : ''}`"
placeholder=""
:focus="domFocus"/>
//script代码
const domFocus = ref(false);
//触发获取焦点
domFocus.value = true;
这里有一个问题,再次点击提交,focus会失效。 触发获取焦点的代码修改如下
//触发获取焦点
uni.hideKeyboard();
domFocus.value = false;
nextTick(function () {
domFocus.value = true;
});