问题:之前在使用iview-area控件时,假如v-model=“areaData”.我是放在模态窗中使用 al-selector,发现访问不同数据时,若某条数据的areaData为空,即this.areaData = new Array() 或者 this.areaData = [] 时,显示的会为上一条数据的值,而且只要对控件进行选择其他地区操作时,再次访问时,会变成仅有省级地区的属性值能正确显示,市级和县级的属性会变为该级的第一条数据。
官方文档的解释是:
v-model属性补充说明:
传入名称数组,若所设地方名称未找到或地方所属关系不对,则显示该等级列表中第一个地方,若数组地方个数少于城市及联选择器的等级数目,则后面缺省的地方名默认已列表中第一个地方显示;且如果设置了数组且不为空,则每次选择一个等级的地方后下面级别的选择器的列表都会更新,且默认选中的为对应列表中第一个地方。
如果不操作的话,有数据的记录是可以正常显示地区。
解决方案:
是因为iview-area组件渲染问题好像有些问题,单纯变更v-model绑定值时,渲染会有一些问题。所以我在控件里加入一条
v-if=“modal.show” 当模态窗关闭时,控件会消失,当模态窗打开时,控件会重新出现并且渲染。加上这句后,一些空值属性也可以正常显示为空了。只要将之前提到的 areaData = [] 即可。
第一次写博客,写的不是很好,请见谅。