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

鍍金池/ 問答/HTML/ vue v-for 出來的元素添加點擊事件 怎么控制被點擊的當(dāng)前元素,而不是

vue v-for 出來的元素添加點擊事件 怎么控制被點擊的當(dāng)前元素,而不是全部

v-for出來的圖標(biāo)“+”,需求是點擊哪一個,哪一個變成“已添加”,現(xiàn)在一點擊全部都變了。
代碼如下:

clipboard.png

clipboard.png

clipboard.png
clipboard.png

回答
編輯回答
膽怯

isshoutex 做數(shù)組啊isshoutex=[false,false,false]

2018年1月20日 17:11
編輯回答
乖乖噠

isShowIcon 和isShowTxt都用數(shù)組,再循環(huán)中用isShowIcon[coin.id]作為下標(biāo)或者index作為下表。點擊的函數(shù)add傳個參數(shù),coin.id 或者index. 然后函數(shù)體實現(xiàn)isShowIcon[coin.id] = false.

問題點在于你的所有的i標(biāo)簽的v-show 的條件都是一個數(shù)據(jù)。一變肯定全部變了。

2018年5月1日 12:58
編輯回答
獨白

可以在v-for的時候?qū)懗?coin,index) of coins ,在調(diào)用add方法的時候把index傳過去,在add方法中獲取到所有的+號,然后將位于index的那一位變成已添加

2017年8月2日 08:23
編輯回答
毀與悔

針對每個coin 也設(shè)置一個自己的isShowIcon和isShowTxt,這樣改變自己的值不會影響其他,isShowIcon和isShowTxt不要共用 不然就會出現(xiàn)點擊一次 其他都改變的情況

2018年3月4日 01:16
編輯回答
陌璃
// 拿到數(shù)據(jù)時,做一次map。
this.coins.map(el => {
   el.isShowTxt = false;
   retrun el;
});
<template>
    <tr v-for="(coin, index) in coins">
        <td>
            <i @click="add"></i>
            <span v-show="coin.isShowTxt">已添加</span>
        </td>
    </tr>
</template>
<script>
export default {
    methods: {    
        add(index){
            this.coins[index].isShowTxt = true;
        }
    }
};
</script>

希望能幫到你~建議下次提問貼代碼而不是貼圖片。

2018年6月7日 19:49