在 v-select 的选项中添加每个项目的计数(.length)
P粉197639753
P粉197639753 2024-03-31 21:05:16
[Vue.js讨论组]

我想将 course.length 从 api 添加到 v-select 上的每个项目 option 并将数据显示到基于活动的过滤器。

例如: v-select 中的项目包含从 online.passed 过滤的选项 all(count)passed(count)notcomplete(count)

online.complete 等过滤。

vue.js 模板:


响应 JSON:

"courses": [
    {
        "id": 1,
        "title": "title1",
        "passed": false,
        "completed": 0
    },
    {
        "id": 2,
        "title": "title2",
        "passed": true,
        "completed": 100
    },
    {
        "id": 3,
        "title": "title3",
        "passed": false,
        "completed": 50
    }
],

P粉197639753
P粉197639753

全部回复(1)
P粉787934476

您发布的当前代码中的一些观察结果:

  • 您正在检查 online.complete === 100 但在线对象中没有 complete 属性。因此,将其更正为 completed 而不是 complete
  • online.title 表达式中缺少右大括号。

现在回到原来的问题:

v-select选项中实现计数。您必须将项目数组从 elements 数组转换为 objects 数组。

items: ['All', 'passed', 'not complete']

items: [{
        name: 'All',
        count: this.onlineCourse.length
      }, {
        name: 'passed',
        count: this.onlineCourse.filter((course) => course.passed)
      }, {
        name: 'not complete',
        count: this.onlineCourse.filter((course) => course.completed === 0)
      }]
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号