如上图,我想把数组以“|”分割解析到Input中,但是我在input中输入值之后如何再双向绑定到数组中呢?
各种尝试,终于找到解决办法:
我用的iview,
首先在input上绑定@on-change="inVal" 事件,然后再把所在的数组的每一层遍历的index传入,直接修改当前数组中的这个位置的这个值,在elementui中应该是绑定@input事件,同理。
<div v-else-if="kv.type==='array'">
<Input v-model="kv.value.join('|')" placeholder="请输入值" @on-change="inVal($event,idx,i,number,index)"/>
</div>
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;
this.cache();
},
这里有个demo可以参考下,是以为叫夕水的网友提供的:https://jsbin.com/kivicuvive/...
参考:https://segmentfault.com/q/10...
6 回答2.8k 阅读✓ 已解决
6 回答2.2k 阅读
5 回答6.2k 阅读✓ 已解决
2 回答1.9k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
4 回答2.6k 阅读
2 回答1k 阅读✓ 已解决
你这个操作是不对的嘞,v-model绑定的值应该是一个变量,而不能是一个表达式。
可以将v-model拆分成value属性和input事件: