今天使用iview画页面时遇到一个很简单但是搞了很久的bug,加了一个控件
<user-select
style="width:200px"
@on-change="handleSelect"
ref="user"
v-model="form.userCode">
</user-select>
然后使用$refs调用组件属性
this.$refs.user.initData();
然后神奇的地方出现了,不管怎么该,一直报Error in mounted hook: "TypeError: Cannot read property 'initData' of undefined"错误,这个方法之前一直用的呀,各种猜想为啥在这里不行了。
最后发现一件神奇的事情,这个组件换个位置就可以正常工作了,然后放回原处就不行了,然后我想,难道这是iview的bug,某两个控件不能紧跟着放在一起?然后又转过头来想,不可能呀,整个vue生态都这么成熟了,不应该会存在这么低级的错误呀!
然后突然发现,这个控件是所在的位置多了一个v-if判断,难道是因为渲染的顺序导致的?
<Row :gutter="32" v-if="type=='2'">
<Col span="12>
<FormItem label&