繁体   English   中英

比较数组时显示/隐藏项目

[英]Show/hide items when comparing arrays

这是我的问题:

  1. 我有一个用于循环创建复选框列表的tags数组。
  2. 我有一个selectTags数组来存储选定的标签。 每次选中/取消选中标记时,都会更新此数组。
  3. 我有一个存储图像 url 和图像标签的images对象,如下所示:
days : {
    day1 : {
        image1: {
            url : '',
            tags: ['tag1', 'tag2']
        },
        image2: {
            url : '',
            tags: ['tag1']
        },
    },
    day2 : {
        image1: {
            url : '',
            tags: ['tag3']
        },
        image2: {
            url : '',
            tags: ['tag1']
        },
    }
}

在我的循环组件中,我执行以下操作以显示图像:

<figure v-for="(image, index) in images" :key="index">
    <img :src="image['url']" alt="">
</figure>

现在,我需要根据选择的标签隐藏/显示图像

我想我找到了一个解决方案:

<figure
    v-for="(image, index) in images" 
   :key="index" 
    v-show="selectTags.filter(item => image['tags'].indexOf(item) > -1).length"
>
    <img :src="image['url']" alt="">
</figure>

我不知道这是否是最好的方法。 所以,欢迎提出建议。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM