鍍金池/ 問答/HTML5  HTML/ vue兩個(gè)數(shù)組如何判斷重復(fù)的數(shù)據(jù)?

vue兩個(gè)數(shù)組如何判斷重復(fù)的數(shù)據(jù)?

在做一個(gè)添加標(biāo)簽的模塊,如下:

clipboard.png

我遇到的問題:能選一樣的標(biāo)簽
我想要的效果:標(biāo)簽不能選一樣
我最開始想到的是用v-if判斷兩個(gè)數(shù)組是否有相同的數(shù)據(jù),從而讓他們顯示隱藏,但是邏輯不會寫

代碼如下:

<div class="form-control" style="cursor:text;height:auto" @click="GetFocus()">
    //選中的標(biāo)簽在這顯示
    <span class="tag" v-for="item in SelectLabel"><i class="el-icon-close"></i>{{item}}</span>
    //這個(gè)輸入框是搜索標(biāo)簽用的
    <input 
        type="text" 
        class="label_input" 
        placeholder="Search" 
        v-model="label_keyword"
        v-validate="'max:8'" 
        name="vee-max" 
        @keyup="loadLabel()">
    <div v-if="errors.first('vee-max')" class="tip">{{ errors.first('vee-max') }}</div>
</div>
<div>
    //這里是標(biāo)簽
    <span 
        class="el-tag el-tag--warning tag-margin" 
        v-for="item in list_label" 
        @click="GetLabel(item.name)">{{item.name}}
    </span>
</div>

回答
編輯回答
歆久

題主你好,按照我的想法。

可以在click時(shí)通過indexOf判斷,點(diǎn)擊的標(biāo)簽是否已在需要顯示的標(biāo)簽數(shù)組內(nèi),假如已經(jīng)有了,則不再需要添加。否在,push進(jìn)去,然后渲染需要顯示的標(biāo)簽數(shù)組即可

2017年10月20日 04:17