vue是单向数据流,一般我们也不会在子组件里面修改父组件传进来的值,但总有需要修改的时候。

如果传进来是个数组,属于引用类型,修改子组件相当于把父组件也同时修改了,所以没有报错,如果是个基本类型的数据直接修改那么vue会报错。

在子组件修改props的方法:
1. 子组件data中拷贝一份,注意引用类型需要深拷贝,根据需求可以watch监听

data() {
    return {
        newList: this.list.slice()
    }
},
watch: {
    list(newVal) {
        this.newList = newVal
    }
}

2. 通过计算属性修改

computed: {
    nList() {
        return this.list.filter(item => {
            return item.isChecked
        })
    }
}
Logo

前往低代码交流专区

更多推荐