✅P48_三级分类-查询-树形展示三级分类数据

gong_yz大约 2 分钟谷粒商城

网关路由配置后,获取三级分类数据的接口变为:

http://localhost:88/api/product/category/list/treeopen in new window

src\views\modules\product\文件夹下创建category.vue页面,首行输入vue,快速生成基本结构。详见:

P36-44、前端基础-VUE -> 快速生成vue 模板

category.vue中编写查询三级分类的方法getMenuList() {},即调用/product/category/list/tree后端接口。

<!-- 三级分类页面 -->
<template>
  <div>
    <!-- element-ui中查找Tree树形控件 -->
    <el-tree :data="menu" :props="defaultProps"></el-tree>
  </div>
</template>

<script>
//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
//例如:import 《组件名称》 from '《组件路径》';

export default {

  data() {
    //这里存放数据
    return {
      menu: [],
      defaultProps: {
        children: "children",
        lable: "name"
      }
    };
  },
  //监听属性 类似于data概念
  computed: {},
  //监控data中的数据变化
  watch: {},
  //方法集合
  methods: {
    getMenuList() {
      this.dataListLoading = true;
      this.$http({
        url: this.$http.adornUrl('/product/category/list/tree'),
        method: 'get',
      }).then((data) => {
        console.log("获取到三级分类数据", data);
      });
    }
  },
  //生命周期 - 创建完成(可以访问当前this实例)
  created() {
    this.getMenuList();
  },
}
</script>
<style  scoped></style>

getMenuList() {}方法中打印获取到的三级分类数据,结果如下:

数据对象是存储在data.data中;

将data对象解构出来:

export default {

  data() {
    //这里存放数据
    return {
      menu: [],
      defaultProps: {
        children: "children",
        label: "name"
      }
    };
  },
  //监听属性 类似于data概念
  computed: {},
  //监控data中的数据变化
  watch: {},
  //方法集合
  methods: {
    getMenuList() {
      this.dataListLoading = true;
      this.$http({
        url: this.$http.adornUrl('/product/category/list/tree'),
        method: 'get',
      }).then(({ data }) => {  // 1.使用解构即{},将data对象解构出来
        console.log("成功获取到三级分类数据", data);
        // 2.将data中的data赋值给menu
        this.menu = data.data;
      });
    },
  },
  //生命周期 - 创建完成(可以访问当前this实例)
  created() {
    this.getMenuList();
  },
}

注意:props的label和children属性,配置这两个属性页面才会正常显示出来

最终效果如下: