关于Vue2里使用IView因为各种原因出现的问题记录
-
问题一:IView使用Tabs标签页组件,在v-if隐藏条件下,重新显示组件时,快速点击其他Tab页会导致从父组件传递到子组件的数据会来不及渲染出来,呈现无数据的组件状态
解决:
- 既使用了Watch监听,又在mounted生命周期方法里,进行监听后执行的代码(即watch里的代码,在mounted也执行一次),这样就能在任何时候都能拿到传过来的数据了。
- 因为watch的执行顺序是在mounted之后的,也就是说,props已经拿到了父组件传来的值,并且mounted函数执行完之后才执行watch的,所以父组件传值可能触发不了watch监听,所以在两个地方都写一遍就可以了。
-
问题二:IView的Form组件,给ref属性赋值,打印该组件的validate方法也有返回,但是运行该方法时不起作用(既不报错也不运行)
解决:
- 进行表单验证时,通过
this.refs.xxx
获取到的Dom元素出错,原因是xxx的值和元素上ref='xxx'
的值不一样导致的,所以只要让这两个值都相等就可以了
- 进行表单验证时,通过