javascript - vue中如何将子组件传过来的值赋给v-for中的数据?
PHP中文网
PHP中文网 2017-04-11 12:43:06
[JavaScript讨论组]


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

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(6)
巴扎黑

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

大家讲道理

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

阿神

为何不用vuex?

高洛峰

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

伊谢尔伦

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

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

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

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

ringa_lee

AAAAAAAAAAAAA

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号