自定义组件例如要给my-component 做校验效果
<p>要给my-component做校验效果,可以按照以下步骤操作:</p>
<ol>
<li>
<p>在my-component组件中添加一个校验方法,例如validate(),用于校验组件的输入值是否符合要求。</p>
</li>
<li>
<p>在my-component组件中添加一个错误提示信息的区域,例如error-msg,用于显示校验错误信息。</p>
</li>
<li>
<p>在父组件中使用my-component时,监听my-component的输入值变化,调用my-component的validate()方法进行校验。</p>
</li>
<li>
<p>如果校验不通过,将错误信息赋值给my-component的error-msg区域显示出来。</p>
</li>
<li>
<p>如果校验通过,则清空my-component的error-msg区域。</p>
</li>
</ol>
<p>以下是一个示例代码:</p>
<p>// my-component.vue</p>
<template>
<div>
<input type="text" v-model="inputValue">
<div class="error-msg">{{errorMsg}}</div>
</div>
</template>
<script>
export default {
data() {
return {
inputValue: '',
errorMsg: ''
}
},
methods: {
validate() {
if (this.inputValue === '') {
this.errorMsg = '输入不能为空'
return false
} else if (this.inputValue.length < 6) {
this.errorMsg = '输入长度不能少于6位'
return false
} else {
this.errorMsg = ''
return true
}
}
}
}
</script>
<p>// parent-component.vue</p>
<template>
<div>
<my-component v-model="value"></my-component>
</div>
</template>
<script>
import MyComponent from './my-component.vue'
export default {
components: {
MyComponent
},
data() {
return {
value: ''
}
},
watch: {
value() {
this.$refs.myComponent.validate()
}
}
}
</script>
原文地址: https://www.cveoy.top/t/topic/brG3 著作权归作者所有。请勿转载和采集!