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