在项目中想实现一个多选的联级功能,可以实现每一个节点都可以选择,并且多选
那要如何实现提交于回显,调用以下组件
后台要的值是以逗号区分的一列字符串,可是我们添加多个的时候,前端提交的是数组,那我们就需要坐下数组处理,可是所有的值如果都是逗号区分的话,一会儿回显我们无法区分,所以我们需要更改一下数据格式
原有数据 一级,二级,三级,一级,二级,三级
现有数据 一级,二级,三级;一级,二级,三级
let ids = []; // 定义空数组
this.agentVisibleForm.regionIds.forEach(ele => {
if(Array.isArray(ele)) {
ele = ele
ids.push(ele.join(","))
}
})
ids = ids.join(";") // 以分号区分
处理好数据后,提交到后台,我们提交什么,后台返回什么,那新增就好了,那要如何回显呢?
// data.regionIds 就是后台返回的值
// 后台返回的格式为 一级,二级,三级;一级,二级
// 需要先把 ; 拆分开
let demo = data.regionIds.split(';')
// 然后再拆分,数组里的值应该为number,转化一下
for(let i = 0; i < demo.length; i++){
demo[i] = demo[i].split(',').map(Number);
};
this.agentVisibleForm.regionIds = demo; // 正常这么赋值就ok了
然后就Ok了