4

Vue3学习(16) - 左侧显示分类菜单 - 久曲健

 7 months ago
source link: https://www.cnblogs.com/longronglang/p/18013893
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

718867-20240212135855973-539802537.png

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

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

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

718867-20240212140030521-915967605.png

菜单显示分类名

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

1、任务拆解

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

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

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

javascript
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循环遍历的知识点,示例代码如下:

javascript
<a-sub-menu v-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>
</a-sub-menu>

718867-20240212135823532-1667930358.png

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

有没有好的解决办法呢?

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

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

__EOF__


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK