프런트에서 드롭다운 트리 구현 - Treeselect
3267 단어 프런트엔드
백엔드에서 데이터를 받아treeselect에 넣기
Controller:
/**
*
*
* @param excludeCode Code
* @param isShowCode (true or 1: ;2: ;false or null: )
* @return
*/
@RequestMapping(value = "officeListData")
@ResponseBody
public List
프론트 데스크는 참고로 하겠습니다.https://www.cnblogs.com/dongyuxin/p/9429362.html#4095727수정을 했습니다.
프런트:
data() {
return {
value: null,
options: [{}],
};
},
//
this.$http.get('/f/dictData/officeListData').then(function(res){
alert(JSON.stringify(res.body));
this.options = this.toTreeData(res.body);
})
toTreeData(data,id,pid,name) {
// , ,pId 1
let parent = [];
for (let i = 0; i < data.length; i++) {
if(data[i].pId !== "0"){
}else{
let obj = {
label: data[i].label,
id: data[i].id,
children: []
};
parent.push(obj);//
}
}
children(parent);
// ,
function children(parent) {
if (data.length !== 0) {
for (let i = 0; i < parent.length; i++) {
for (let j = 0; j < data.length; j++) {
if (parent[i].id == data[j].pId){
let obj = {
label: data[j].label,
id: data[j].id,
children: []
};
parent[i].children.push(obj);
}
}
children(parent[i].children);
}
}
}
return parent;
}