• Vue3学习(十六)- 左侧显示分类菜单


    写在前面

    和大家不太一样,我觉得今年的自己更加relax,没有亲戚要走,没有朋友相聚,也没有很好的哥们要去叙旧,更没有无知的相亲,甚至可以这么说没有那些闲得慌的邻居。

    也可以说是从今天开始,算是可以进入自己的小世界,做自己想做的事,看看书,学习一下。

    生活的精髓在于善待自己,用心感受每一刻的欢愉与宁静!

    人生于世上有几个知己,多少友谊能长存,愿友谊常青!

    菜单显示分类名

    那么如何让菜单正常显示菜单内容呢?

    1、任务拆解

    • 在页面加载就查出所有分类
    • 通过垂直菜单遍历出所有分类内容并显示

    2、在页面加载就查出所有分类

    即在onMounted种通过handleQueryCategory,此处可以复用分类列表中的代码,示例代码如下:

    const level1 =  ref();
    let categorys: any;
    /**
     * 查询所有分类
     **/
    const handleQueryCategory = () => {
      axios.get("/category/all").then((response) => {
        const data = response.data;
        if (data.success) {
          categorys = data.content;
          console.log("原始数组:", categorys);
    
          level1.value = [];
          level1.value = Tool.array2Tree(categorys, 0);
          console.log("树形结构:", level1.value);
        } else {
          message.error(data.message);
        }
      });
    };
    
    onMounted(() => {
        handleQueryCategory();
    }

    3、通过垂直菜单遍历出所有分类内容并显示

    这块还是考察的是v -for循环遍历的知识点,示例代码如下:

    for="item in level1" :key="item.id">
      <template v-slot:title>
        <span><user-outlined />{{item.name}}span>
      template>
      <a-menu-item v-for="child in item.children" :key="child.id">
        <MailOutlined /><span>{{child.name}}span>
      a-menu-item>
    

    4、效果

    写在最后

    这部分的代码,是纯前端了, 代码扔太久了,只能看懂,但是自己写还是写不出来,我想这种状态,可能是很多新手,都会面临的问题吧。

    有没有好的解决办法呢?

    没有,在成功这条路上,永远是没有捷径可言的。

    如不适应,去练习,大量练习,直到完全适应它即可。


    __EOF__

  • 本文作者: 久曲健的测试窝
  • 本文链接: https://www.cnblogs.com/longronglang/p/18013893
  • 关于博主: 评论和私信会在第一时间回复。或者直接私信我。
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    3212力扣:统计X和Y频数相等的子矩阵数量
    Yii使用queue实现队列
    大数据在电力行业的应用案例100讲(九)-数字化电价执行错误识别新模式
    Ollama 源代码中值得阅读的部分
    【JVM技术专题】 性能调优之CMS垃圾回收器「上篇」
    金融私有云IAAS领域、云平台领域、架构领域、新技术领域的技术展望
    GORM CRUD 5 分钟快速上手
    深度学习-扩张卷积(dilated convolution)
    环形链表-力扣
    周记之学习总结
  • 原文地址:https://www.cnblogs.com/longronglang/p/18013893