仍然是修改源码重新注册一个公共组件自己使用(不太清楚的可以看上篇自定义的自定义组件)
打开源码
找到targetData方法
如图
看不懂?不要紧,接下来咱们把该方法里面的全部删掉,替换成这样:
var targetData = [];
for (let i of this.value) {
targetData.push({
label: i,
key: i,
search: i,
});
}
return targetData;
解释一下:this.value这个变量就是你在vue页面调用组件时绑定的v-model,所以循环下他,永远显示model中的内容,至于之前为什么会左右关联,是因为原作者写了一个检索方法,从预选中进行搜索了有才会显示
以及,预选被选中后不消失:找sourceData方法
改为:sourceData() { return this.data; },
图示