input在使用中遇到的坑
1.element input点击展示弹窗选值后,表单验证还有提示的解决方法
问题描述:
用例:
<el-form-item
label="xxxx:"
prop="name"
>
<el-input
placeholder="请选择xxxx"
v-model="form.name"
@click.native="selectOrg"
clearable
>
</el-input>
</el-form-item>
input有值了,但是验证提示还想存在
解决办法:在自定义验证方法
<script>
data(){
const validatetName = (rule, value, callback) => {
if (value == "") {
callback(new Error("请选择xxxx"));
} else {
callback();
}
}
return{
rules:{
name: [{required: true,validator: validatetName ,trigger: ["blur", "change"],}],
}
}
}
</script>
这样就可以啦
2.在查询的时候使用input出现不能输入的情况,是因为input不能实时更新
<template>
<div>
<el-form>
<el-form-item label="xxx类型:" prop="type">
<el-select v-model="form.type" @change="change($event)">
<el-option
v-for="item in types"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="xxxx:" prop="name">
<el-input v-model="form.name" placeholder="" @input="change($event)"></el-input>
</el-form-item>
</el-form>
</div>
<template>
<scritp>
methods:{
/**解决有时候el-input无法输入的问题 */
change(e) {
this.$forceUpdate()
},
}
</script>