三级联动(hutu工具类的)

后端代码:

 //三级联动列表查询
    @RequestMapping("list")
    public Result getlist(){
        List<CompanyAddress> list = addressService.list();
        //配置,把你前端写在options里的给删了,在后端配置, 
        TreeNodeConfig treeNodeConfig = new TreeNodeConfig();
        treeNodeConfig.setIdKey("value");
        treeNodeConfig.setNameKey("label");
        treeNodeConfig.setParentIdKey("parentId");
        treeNodeConfig.setChildrenKey("children");
        treeNodeConfig.setDeep(3);

        //转换器
        //(含义:找出父节点为字符串的所有子节点,并递归查找对应的子节点,深度最多为3)
        List<Tree<String>> treeNodes = TreeUtil.build(list, "0", treeNodeConfig, (treeNode, tree) -> {
            tree.setId(treeNode.getAddressId() + "");
            tree.setParentId(treeNode.getParentId() + "");
            tree.setName(treeNode.getAddressName());
        });

        return Result.success(treeNodes);
    }

后端查到的数据:

前端代码:

<template>
  <div>
    <h1>三级联动</h1>
    <el-cascader
        v-model="value"
        :options="options"
        @change="handleChange"></el-cascader>
  </div>
</template>
<script>
export default {
  data(){
    return{
      value:[],
      options: [],
    }
  },
  methods: {
    //value是选中的地址id
    handleChange(value){
      console.log(value);
    },
    queryOnelist(){
      this.axios.post("http://localhost:8666/address/list").then(r=>{
        this.options = r.data.data;
      })
    }
  },
  created() {
    this.queryOnelist();
  }
}
</script>
<style>

</style>

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值