也可以描述为el-form里的el-select change事件 控制el-card里包裹的 el-tab-pane 表单 显示/隐藏(复杂且墨迹)
下拉框切换段标时 下方el-card会显示对应的段
每个段的el-tab-pane 是用v-if=“dataForm.code == ‘X’” 判断的
因为用的是v-if 所以每次切换时 会报rules的校验错误 闪现
改为v-show后 虽然没有校验报错闪现 但是默认显示了所有的el-tab-pane
解决方法:
给每个el-form 增加不同的key 以便区分
1、v-if只有在判断为true的时候才会对数据进行渲染,false的时候把包含的代码进行删除。除非再次进行数据渲染,v-if才会重新判断。可以说是用法比较倾向于对数据一次操作。
2、v-show是无论判断是什么都会先对数据进行渲染,只是false的时候对节点进行display:none;的操作。所以再不重新渲染数据的情况下,改变数据的值可以使数据展示或隐藏。
原因:两个el-form元素没有作区分标识,内部误以为是同一个元素,导致跳转时触发校验。
解决方案:给每个el-form元素添加不同的key属性值
<el-form key="aa">
</el-form>
<el-form key="bb">
</el-form>