前端使用不做說明,主要是后端思路痹籍,此方法只適合數(shù)據(jù)比較少的時候
-
層級列表構(gòu)造代碼
public class Cascader { @JsonSerialize(using = ToStringSerializer.class) private Long value; private String label; private List<Cascader> children; }
/** * 分類層級列表 * @return */ @Override public List<Cascader> selectSysCategoryCascader() { // 返回結(jié)果 List<Cascader> cascaderResult = new ArrayList<>(); // 獲取父分類列表 SysCategory s = new SysCategory(); s.setParentId(Long.valueOf(0)); List<SysCategory> parentList = selectSysCategoryList(s); // 遍歷父分類列表 for (int i = 0; i < parentList.size(); i++) { // 取出父分類 SysCategory pCategory = parentList.get(i); // 加入父類信息 Cascader cascader = new Cascader(pCategory.getCategoryId(),pCategory.getCategoryName()); // 根據(jù)父分類ID獲取子分類列表 SysCategory tem = new SysCategory(); tem.setParentId(pCategory.getCategoryId()); List<SysCategory> sysCategories = selectSysCategoryList(tem); // 構(gòu)造子分類Cascader列表 List<Cascader> childrenList = new ArrayList<>(); // 循環(huán)子分類加入Cascader列表 for (int j = 0; j < sysCategories.size(); j++) { SysCategory category = sysCategories.get(j); Cascader children = new Cascader(category.getCategoryId(),category.getCategoryName()); childrenList.add(children); } cascader.setChildren(childrenList); cascaderResult.add(cascader); } return cascaderResult; }
-
前端收到的結(jié)果
image.png