请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于 自定义v-model 哪一章的问题

父组件:

<cell v-for="(v,i) in list" v-model="list[i]"/>

当v-model在循环中的时候,在子组件中:

export default {
    props: {
        value: {
            type: Object,
            default: function() {
                return {
                    text: "测试文本2",
                    selectA: true
                }
            }
        }
    },
    model: {
        prop: 'value',
        event: 'change'
    }
}

可以拿到父类传下来的value,但不能通过$emit 进行操作,双越老师这是为什么啊 ?

this.$emit('change','text')

没有办法可以触发change事件,会报错:

[Vue warn]: Invalid prop: type check failed for prop “value”. Expected Object, got Number with value 1.

父组件代码图:

图片描述

子组件图:
图片描述

在v-for循环渲染中,绑定v-model给子组件。子组件虽然能够获取到,但是没有办法通过视频中的方法进行修改操作。
这是为什么呢,或者说有其他方法可以进行修改操作吗

正在回答 回答被采纳积分+3

1回答

双越 2020-07-14 08:11:40

看报错是 props value 的问题,不是  $emit 的问题。

你删掉 this.$emit 这一行,会不会报错?

0 回复 有任何疑惑可以回复我~
  • 提问者 疆南星耀 #1
    老师, 我重新把题目编辑了一下,贴了图片加了描述。
    把"emit"注释的话那我该用什么方式进行修改操作呢?
    回复 有任何疑惑可以回复我~ 2020-07-14 09:07:54
  • 双越 回复 提问者 疆南星耀 #2
    我看了半天,没看明白这段代码的需求是什么?要做个什么事情?
    回复 有任何疑惑可以回复我~ 2020-07-14 15:39:14
  • 提问者 疆南星耀 回复 双越 #3
    就是想在v-for中使用v-model
    回复 有任何疑惑可以回复我~ 2020-07-14 16:02:15
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信