在通过v-if来控制表单的动态显示时,会出现表单验证无效的情况,实际上是因为vue的diff算法,在diff算法中会尽可能的复用组件,所以切换了表单后,diff算法会复用组件,并没有重新渲染,所以需要配合key属性
解决方案有:
1. 在 v-if 的元素上添加 key 标识,将动态组件区分开
2. 用 v-show 代替 v-if,此方法可能会导致其他问题,需结合实际情况
在通过v-if来控制表单的动态显示时,会出现表单验证无效的情况,实际上是因为vue的diff算法,在diff算法中会尽可能的复用组件,所以切换了表单后,diff算法会复用组件,并没有重新渲染,所以需要配合key属性
解决方案有:
1. 在 v-if 的元素上添加 key 标识,将动态组件区分开
2. 用 v-show 代替 v-if,此方法可能会导致其他问题,需结合实际情况