当前位置:   article > 正文

使用naive-ui做一个标签页展示列表_ntabs、ntabpane

ntabs、ntabpane

目录

零、引言

一、引入所需组件

二、引入数据

三、使用动态样式控制列表条纹

四、全部代码

五、设计思路

5.1组件设计思路

5.2背景颜色控制思路

5.3说明

六。最终效果


零、引言

有时候我们会有很多数据,分成好几类

每一类都需要展示,那么这时候传统的表格可能用处就不是很大了,于是乎我们就自己来写一个数表单

一、引入所需组件

在这里,我们使用了NCard, NTabs, NTabPane这三个组件

import { NCard, NTabs, NTabPane } from 'naive-ui'

二、引入数据

  1. const tabs = {
  2. 星期一: 1,
  3. 星期二: 2,
  4. 星期三: 3,
  5. 星期四: 4,
  6. 星期五: 5,
  7. 星期六: 6,
  8. 星期日: 7,
  9. };
  10. const data = [
  11. {
  12. info: "这是消息1",
  13. msg: "你挂科了!",
  14. },
  15. {
  16. info: "这是消息2",
  17. msg: "你及格了!",
  18. },
  19. {
  20. info: "这是消息3",
  21. msg: "你延毕了!",
  22. },
  23. {
  24. info: "这是消息4",
  25. msg: "你评优了!",
  26. },
  27. {
  28. info: "这是消息5",
  29. msg: "你失败了!",
  30. },
  31. ];
  32. export { tabs, data };

三、使用动态样式控制列表条纹

const backColor = ref(["background-color:#F2F9FA", "background-color:#FFD700"])

四、全部代码

  1. <template>
  2. <n-card title="测试样例" style="margin-bottom: 16px;max-width:50%;">
  3. <n-tabs style="flex" type="line">
  4. <n-tab-pane v-for="(value, index) in tabs"
  5. :key="index"
  6. :name="index"
  7. :tab="index"
  8. >
  9. <!-- 下面是题目列表 -->
  10. <div v-for="(value, index) in data" :key="index">
  11. <div
  12. class="topic-details"
  13. :style="backColor[index &1]"
  14. >
  15. {{ value.msg }}
  16. <!-- 这里面需要写很多样式 -->
  17. </div>
  18. </div>
  19. </n-tab-pane>
  20. </n-tabs>
  21. </n-card>
  22. </template>
  23. <script lang="ts" setup>
  24. import { ref } from 'vue'
  25. import { NCard, NTabs, NTabPane } from 'naive-ui'
  26. import { tabs, data } from "./data";
  27. const backColor = ref(["background-color:#F2F9FA", "background-color:#FFD700"])
  28. </script>
  29. <style scoped>
  30. .topic-details {
  31. min-height: 50px;
  32. }
  33. </style>

五、设计思路

5.1组件设计思路

我们在官网了看见每个n-tab-pane是写死的,所以我们可以使用循环控制生成标签页,标签页没有关联,我们就采用字典来组合起来

然后每个n-tab-pane实际上渲染的是同一个框架,只不过每次点击可以设置请求不同的数据,给用户一种切换了容器的样子,你也可以在切换过程中加上加载动画使其看起来逼真

5.2背景颜色控制思路

这里采用了:style来进行动态渲染,:class不知道为什么不能渲染

5.3说明

关闭了全局的居中,所以看起来可能有点不对称

六。最终效果

各位可以发挥创造力自己改装哈! 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/991037
推荐阅读
相关标签
  

闽ICP备14008679号