vue2.0用单选框的值判断输入框是否必填,watch事件
时间: 2023-07-12 14:25:55 浏览: 85
除了使用 `v-if` 和 `v-validate`,我们还可以使用 `watch` 监听 `isRequired` 变量的变化,来动态改变输入框是否必填。示例如下:
```html
<template>
<div>
<label>
<input type="radio" value="yes" v-model="isRequired"> 是
</label>
<label>
<input type="radio" value="no" v-model="isRequired"> 否
</label>
<input v-model="inputValue" type="text" :placeholder="placeholder">
<span v-if="isRequired === 'yes' && !inputValue">必填项</span>
</div>
</template>
<script>
export default {
data() {
return {
isRequired: 'no',
inputValue: '',
placeholder: '非必填项'
}
},
watch: {
isRequired(val) {
if (val === 'yes') {
this.placeholder = '必填项'
} else {
this.placeholder = '非必填项'
}
}
}
}
</script>
```
在上面的代码中,我们使用 `watch` 监听 `isRequired` 变量的变化,并根据变量的值来动态改变输入框的 `placeholder` 属性和错误提示信息。当 `isRequired` 变量为 `"yes"` 时,我们判断输入框是否为空,如果为空则显示错误提示。需要注意的是,在单选框的值发生变化时,`watch` 会立即响应并执行相应的回调函数。
阅读全文