Vue条件列表渲染

Posted

技术标签:

【中文标题】Vue条件列表渲染【英文标题】:Vue conditional list rendering 【发布时间】:2021-11-01 10:14:31 【问题描述】:

我正在处理分层导航元素,其中我在数组中的过滤器上有一个 v-for 循环。颜色、大小、性别等过滤器...

由于某些过滤器中的选项数量可能非常多(例如颜色),我想添加一个按钮来显示每个过滤器的更多选项。

我目前有以下功能来显示每个过滤器的更多选项

             <div v-if="showMoreFilters === false">
              <div
                v-for="(attribute, index) in filter.attributes"
                :key="attribute.index">
                  <div class="layered-navigation__item"
                    v-if="index < filter.facetsettings.nrofshownattributes"
                  >
                    <SfFilter
                      :label="attribute.title"
                      :count="attribute.nrofresults"
                      :selected="attribute.isselected"
                      @change="function(x)>
                    </SfFilter>
                  </div>
              </div>
            </div>
            <div v-else>
              <div
                v-for="attribute in filter.attributes"
                :key="attribute.index"
              >
                <div class="layered-navigation__item">
                    <SfFilter
                      :label="attribute.title"
                      :count="attribute.nrofresults"
                      :selected="attribute.isselected"
                      @change="function(x)">
                    </SfFilter>
                  </div>
                </div>
              </div>
            </div>
            <sfButton @click="showMoreFilters = !showMoreFilters">
                Show more filters"
            </sfButton>

每个过滤器所需的初始过滤器选项数量在每个过滤器中给出:

filter.facetsettings.nrofshownattributes

然而,问题在于,如果我按下按钮 (showMoreFilters),所有过滤器都会显示它们的所有选项。不仅仅是我点击的过滤器的选项数组。我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

问题是有很多过滤器,但只有一个 showMoreFilters 标志。考虑将showMore 属性添加到每个过滤器的facetsettings 对象...

<div v-if="!filter.facetsettings.showMore">
...
<sfButton @click="filter.facetsettings.showMore != filter.facetsettings.showMore">
  Show more of just this filter"
</sfButton>

【讨论】:

以上是关于Vue条件列表渲染的主要内容,如果未能解决你的问题,请参考以下文章

Vue条件渲染及列表渲染

Vue条件渲染及列表渲染

Vue 指令数据及事件绑定条件和列表渲染

Vue 条件渲染,列表渲染,key的作用和原理,列表过滤,列表排序,Vue监测数据原理和注意事项

vue class与style绑定条件渲染列表渲染

Vue中的条件渲染和循列表渲染