1. 环境
Vue3,Element Plsu
2. 示例代码
const { updateBy, updateTime, ...curObj } = form.valuecurObj.id = props.tableData.length + 1var newTableData = props.tableData.push(curObj)updateTableData(newTableData)
3. 情景描述
newTableData变成了整数,而不是数组
4. 原因
Array.prototype.push 是 JavaScript 数组的一个方法,用于向数组末尾添加一个或多个元素,并返回新的数组长度(即数组中元素的数量)。它不会返回一个新的数组,而是直接修改原始数组
5. 解决方案
const { updateBy, updateTime, ...curObj } = form.valuecurObj.id = props.tableData.length + 1var newTableData = [...props.tableData, curObj]updateTableData(newTableData)