项目需要:需要在input后置单位选择器,来实现随着单位的变动,输入框值的要求也跟着变动并且验证信息也随之改变(第一次写,写的不好见谅)
实现方式:
在data中初始化数据
ruleForm:{
rate:'',
cycle:"",
},
disable: false,
在computed中输入自己想要的占位符样式(可省略)
computed: {
// 输入框placeholder的数据
inputPlaceholder() {
if (this.ruleForm.cycle === '05') {
return '请输入小于等于60并大于等于1的整数';
} else if (this.ruleForm.cycle === '04') {
return ' 请输入小于等于24并大于等于1的整数';
} else {
return '';
}
},
},
在watch中监听输入框的变化
watch: {
// 监听当前input的变化
'ruleForm.rate'(newVal) {
this.setValidationRules(newVal, this.ruleForm.cycle);
},
// 监听当前选择框的变化
'ruleForm.cycle'(newVal) {
this.setValidationRules(this.ruleForm.rate, newVal);
},
},
//验证要求
setValidationRules(inputValue, selectValue) {
const value1 ='输入限制'
if (selectValue === '05') {
//当传入的数据不符合,可写入自己想要的验证信息
if (!value1) {
this.rules.rate = [
{
required: true,
message: '',
trigger: 'blur',
},
];
}
}
},
//当el-input输入的值不符合要求时清空
handleInputBlur() {
const value1 ='输入限制'
if (this.ruleForm.cycle === '05') {
if (!value1) {
this.ruleForm.rate = '';
}
}
},