【问题标题】:Get items with conditional rendering based on their type根据类型获取具有条件渲染的项目
【发布时间】:2019-06-04 06:42:34
【问题描述】:

有一个列表,其中的数据根据​​其特定类型进行隔离

要完成的任务:- 显示所需类型的唯一项目。

<script>
export default {
  data(){
    return{
    items:{
        {
          type: "a",
          text: "TEXT A"
        },
        {
          type: "b",
          text: "TEXT B"
        },
        {
          type: "b",
          text: "TEXT B-1"
        },{
          type: "a",
          text: "TEXT A-2"
        }
      }
    }
  }
  </script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<template>
  <div v-if="type == a">
    <div v-for="(item,key) in items">
      <p>{{item.text}}</p>
    </div>
  </div>
</template>

【问题讨论】:

  • 我的回答解决了你的问题吗?
  • @Boussadjra Brahim 我们可以在 v-tabs 中执行此操作吗???就像将类型放在 v-tabs 中并在 v-tab-item 中显示其文本?

标签: javascript html vue.js vuejs2 vue-component


【解决方案1】:

您应该在v-for 循环中放置一个条件渲染,例如:

<div >
  <div v-for="(item,key) in items">
  <p v-if="item.type == 'a'">{{item.text}}</p>
  </div>
</div>

或使用名为 itemsTypeA 的计算属性并仅返回其类型 == a 的项目并在模板内循环遍历该属性:

   computed:{
          itemsTypeA(){
              return this.items.filter(item=>{
              return item.type=='a'
              })
            }
        }

模板内:

 <div >
  <div v-for="(item,key) in itemsTypeA">
  <p>{{item.text}}</p>
  </div>
</div>

【讨论】:

  • 我们可以在 v-tabs 中执行此操作吗???就像将类型放在 v-tabs 中并在 v-tab-item 中显示其文本?
猜你喜欢
  • 1970-01-01
  • 2021-03-23
  • 1970-01-01
  • 1970-01-01
  • 2017-03-17
  • 1970-01-01
  • 1970-01-01
  • 2015-06-28
  • 2017-02-22
相关资源
最近更新 更多