一、问题表现
往省市区数据中新增一条区的数据,数据是没有返回勾选id,但是页面表现为已选中。
二、问题定位
经过一番排查,发现是返回勾选数组中一个值的问题,如下图:
因为tree组件设置通过指定字段判断勾选:node-key="areaId",但是省市区三级列表都含有areaId这个字段,所以到杭州市这里返回的勾选数组里面含有杭州市地址id :3301,组件认为杭州市是全选状态,优先级高于杭州市下区级的勾选,所以页面表现为杭州市全部选中。
三、解决方案
之前勾选会将省市区这三级数据全部传给后端,在经过与后端讨论后,只传区的id是没有问题的
第一步:修改,只传勾选区的id防止后续出现问题
第二步:将获取到的勾选数据做筛选,将非县/区的id过滤掉,达到修复历史数据问题