vue雙向綁定的時候把遍歷的數組轉爲了字符串,而且再轉回去數組進行綁定

個人問題你們可能不太懂,我詳細再解釋一下,就是我經過遍歷一個大的數組,多層遍歷以後,最後的值仍是一個小的數組,形如:segmentfault

aaa:[
   {
      bbb1:[
           "111",""222"
      ]
    } ,     
     {
      bbb2:[
           "111",""222"
      ]
    }     
]    

我想把bbb下的數組變成以逗號或者豎線分割的字符串放在iview中input中,個人代碼以下:數組

<div v-else-if="kv.type==='array'">
        <Input v-model="kv.value.join('|')" placeholder="請輸入值" @on-change="inVal($event,idx,i,number,index)"/>
</div>

這裏kv.value就是一個數組,是通過若干層遍歷的最後一層,我經過直接在v-model中加了join方法,把數組變成了我想要展現的樣子,可是再次在Input框輸入值卻始終獲得的都是空了,通過幾番思考,經過給Input加了@on-change方法,獲取到當前的值,而且傳入當前所在的數組的index,從而直接把整個數組中的這個值改變,從而實現。代碼以下:iview

//如下是methods的一個方法:
inVal(event,valIndex,itemIndex,condIndex,groupIndex){
        let inValue=this.objDeepCopy(event.target.value.split("|"))
        this.settingList[groupIndex]['condition'][condIndex]['value'][itemIndex]['value'][valIndex]['value']=inValue;
},

連接參考這裏:https://segmentfault.com/q/1010000018995418this

https://segmentfault.com/q/1010000018957711spa

相關文章
相關標籤/搜索