欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue双向绑定的时候把遍历的数组转为了字符串,并且再转回去数组进行绑定

程序员文章站 2022-05-14 12:26:01
我的问题大家可能不太懂,我详细再解释一下,就是我通过遍历一个大的数组,多层遍历之后,最后的值还是一个小的数组,形如: 我想把bbb下的数组变成以逗号或者竖线分割的字符串放在iview中input中,我的代码如下: 这里kv.value就是一个数组,是经过若干层遍历的最后一层,我通过直接在v-mode ......

我的问题大家可能不太懂,我详细再解释一下,就是我通过遍历一个大的数组,多层遍历之后,最后的值还是一个小的数组,形如:

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,从而直接把整个数组中的这个值改变,从而实现。代码如下:

//以下是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;
},

链接参考这里: