vue中如何将子组件传过来的值赋给v-for中的数据?

clipboard.png
如图,其实是一个循环的表单,其中region-picker是我使用的一个地区选择插件,for-item是通过v-for循环数组中的其中一个数据,现在region-picker有改动,可以通过@onchange来触发change事件接收地区选择子组件传过来的数据,但是取到了数据如何改变对应的数组中数据中的值呢?也就是如何获取数组的index呢?我发现change不可以传参数,传参数的话就会覆盖掉子组件传过来的数据。求大神解答

阅读 4.4k
6 个回答

可以把form-item封装成一个组件,add可以prop过来,change的时候就可以获得add在数组中的index了

没看懂问题,能否提供更详细的问题,比如v-for部分代码,最好是能体现问题的完整.vue文件

父组件是通过props往下传数据给子组件啊...@change应该是事件吧?.是子组件往上传数据..不能往下的

既然你已经选择用回调函数参数的形式从组件中回传参数,那么父组件就可以在你代码中的change函数中取到你要回传的参数, 然后对父元素v-for的变量进行赋值:

data: {
    vForItems: [], // v-for的变量
},
methods: {
    change(val) {
        this.vForItems = val
    }
}

至于如何获取v-for中的index,一般有 v-for = "(item, index) in vForItems"这种形式获取

小弟愚钝,如有不对之处,欢迎讨论

AAAAAAAAAAAAA

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题