vue项目:父组件向子组件传值,子组件需要对传过来的数据进行修改问题

昨天在写项目时,父组件中包含很多相同类似的表格 我就给拆分出去了,此时我就需要将在父组件中获取的表格列表数据传递给子组件。 子组件(表格)涉及了删除按钮,新增按钮,此时就会对父组件传递过来的数据进行修改,但是我直接对props接受的数据进行修改就出了错误提示!

vue项目:父组件向子组件传值,子组件需要对传过来的数据进行修改问题

之所以报错是因为vue是单向数据流,想要直接对父组件传递过来的值进行修改是不被允许的。

父组件



子组件






解决办法
在子组件中声明一个data,然后将传递过来的值赋值给data,此时就可以进行修改操作

const tableDataList = ref([]); //用来接收传递过来的数据列表值,如果想要进行删除等操作,可间接修改props值
  onMounted(() => {
      tableDataList.value = props.tableData;  //在此生命周期钩子中将传过来的值进行赋值
      context.emit("update:tableData", tableDataList);  //该操作实现的是当数据一旦发生变化 就会将最新数据传递个父组件
    });
子组件如果这么写,
context.emit("update:tableData", tableDataList);
父组件传递值对应的写法
   
版权声明:如无特殊标注,文章均来自网络,本站编辑整理,转载时请以链接形式注明文章出处,请自行分辨。

本文链接:https://www.shbk5.com/dnsj/72970.html