在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue 判斷哪個(gè)被選中并顯示對應(yīng)的圖標(biāo)

vue 判斷哪個(gè)被選中并顯示對應(yīng)的圖標(biāo)

clipboard.png

clipboard.png

問題:全選和全不選怎么做呢?

回答
編輯回答
編輯回答
敢試

可以使用v-if或者v-show來決定是否顯示

2018年6月21日 18:33
編輯回答
北城荒

多個(gè)數(shù)據(jù)肯定不能用同一個(gè)變量控制,一般我會(huì)在選中時(shí)使用vue.set在當(dāng)前數(shù)據(jù)中添加一個(gè)變量,對這個(gè)變量進(jìn)行判斷;

<template>
    <ul>
        <li v-for="item in list" :key="item.id" v-show="item.visible" @click="onCheck(item)">{{item.title}}</li>
    </ul>
</template>
<script>
export default {
  data() {
      return {
          list: [
              {
                  id: 1,
                  title: 'test'
              },
              {
                  id: 2,
                  title: 'test2'
              }
          ]
      }
  },
  methods: {
      onCheck(item) {
          if (item.visible) {
              item.visible = false;
              return;
          }
          this.$set(item, 'visible', true);
      }
  }
}
</script>

更新:
$set應(yīng)該不是太好,可以維護(hù)一個(gè)數(shù)組checkIds,每次選中時(shí)把id加入到checkIds,取消選中時(shí)從數(shù)組中刪除這個(gè)id,全選就是把當(dāng)前數(shù)組的所有id加入到checkIds,取消全選就是清空數(shù)組,判斷是否選中就用indexOf就好了;

2017年6月9日 17:02
編輯回答
過客

給數(shù)組每一項(xiàng)添加check屬性,然后每一項(xiàng)通過,v-if="item.check"來判斷就可以了。

arr.foreach(a=>a.check=false)
2017年8月1日 23:47
編輯回答
離觴

遍歷,通過下標(biāo)index來判斷顯隱,v-show="checkIndex === index"


修改:

<div v-for="(item, index) in items"> 
    <span v-show="checkIndex === index">選中</span>
    <span @click="checkIndex = index;">選擇</span>
</div>

嗯,就是這樣,夠詳細(xì)了。

2018年1月30日 10:18