iview - 元素隐藏,但其验证提示仍显示
问题描述
我正在使用 VUE 2.5.1 和 iView 4.0.0。我的项目的一个页面中有2个表单,我使用v-if属性来切换它们。问题是在我重新分配form_data的值(新的没有属性'usage')并将this.met_type设置为3之后,'Item'输入显示,但是一行红色文本'usage is required'也显示在它下面。“使用”输入已经隐藏,为什么它的验证提示仍然显示?有没有办法避免这个错误信息?
<template>
<div v-if="met_type==2">
<Form :rules="ruleCustom" :model="form_data">
<Row>
<Col span="12">
<FormItem label="Usage" prop="usage" required>
<Input :value="form_data.usage" readonly />
</FormItem>
</Col>
</Row>
<!-- other code omitted -->
</Form>
</div>
<div v-if="met_type==3">
<Form :rules="ruleCustom" :model="form_data">
<Row>
<Col span="12">
<FormItem label="Item" prop="item" required>
<Input :value="form_data.item" readonly />
</FormItem>
</Col>
</Row>
<!-- other code omitted -->
</Form>
</div>
<!-- other code omitted -->
</template>
<script>
export default {
methods: {
loadData: function(met_type) {
dataUtils.fetch(this.met_id, met_type, (retVal) => {
// Fetch data
// whe met_type == 3, form_data does not have property 'usage'
this.form_data = retVal.data;
this.met_type = met_type;
});
}
}
}
</script>
解决方案
我把这两个表格放到单独的模板文件后,问题就解决了。但我仍然不明白为什么这会有效。
// ComponentA.vue
<template>
<Form :rules="ruleCustom" :model="form_data">
<Row>
<Col span="12">
<FormItem label="Usage" prop="usage" required>
<Input :value="form_data.usage" readonly />
</FormItem>
</Col>
</Row>
<!-- other code omitted -->
</Form>
</template>
// ComponentB.vue
<template>
<Form :rules="ruleCustom" :model="form_data">
<Row>
<Col span="12">
<FormItem label="Item" prop="item" required>
<Input :value="form_data.item" readonly />
</FormItem>
</Col>
</Row>
<!-- other code omitted -->
</Form>
</template>
// The main component file
<template>
<div v-if="met_type==2">
<ComponentA>
</ComponentA>
</div>
<div v-if="met_type==3">
<ComponentB>
</ComponentB>
</div>
<!-- other code omitted -->
</template>
<script>
export default {
methods: {
loadData: function(met_type) {
dataUtils.fetch(this.met_id, met_type, (retVal) => {
// Fetch data
// whe met_type == 3, form_data does not have property 'usage'
this.form_data = retVal.data;
this.met_type = met_type;
});
}
}
}
</script>
推荐阅读
- python-3.x - 确定开始参数 2D 高斯拟合
- mongodb - 如何在猫鼬模式中将对象 ID 数组设置为“必需”?
- react-native - 如何在 React-Native 中编写或导入 Bootstrap
- amazon-ecs - 多个任务的 AWS ECS 服务发现
- c# - 组合框不允许我写入和选择一个值
- ios - 如何查看内容 UITableView 的可复用池
- java - Java - 每行都缺少第一个字母
- perl - perl 模块查找反向依赖项(不仅是 cpan)
- sql - 如何填充组合框并从数据库中选择项目
- c++ - 尽管在编译期间 -I(破折号大写 i)标志,为什么未定义的引用错误?