You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Vue(vuetify)对象数组中插入值?v-data-table报错求助

解决.push is not a function错误的方法

出现这个错误的核心原因是axiosThis.tableDataFinal[i]不是数组类型——push()是数组专属方法,只有数组才能调用它。你可以按以下步骤处理:

1. 先确认目标项的类型

在调用push前加一行打印代码,明确tableDataFinal[i]的实际类型:

console.log(axiosThis.tableDataFinal[i], Array.isArray(axiosThis.tableDataFinal[i]));

如果输出结果里第二个值是false,说明它是对象或其他非数组类型,这时候不能用push。

2. 根据需求选择对应方案

情况一:给对象添加新属性/合并对象

如果tableDataFinal[i]是对象,你要把printsumget[i]的数据合并进去:

  • 单个属性赋值:
    // 示例:添加名为printSum的属性
    axiosThis.tableDataFinal[i].printSum = axiosThis.printsumget[i];
    
  • 合并整个对象(若printsumget[i]也是对象):
    axiosThis.tableDataFinal[i] = {
      ...axiosThis.tableDataFinal[i],
      ...axiosThis.printsumget[i]
    };
    

情况二:将目标项转为数组后添加元素

如果你确实需要tableDataFinal[i]是数组,先初始化它为数组再执行push:

// 先判断是否为数组,不是则初始化为空数组
if (!Array.isArray(axiosThis.tableDataFinal[i])) {
  axiosThis.tableDataFinal[i] = [];
}
axiosThis.tableDataFinal[i].push(axiosThis.printsumget[i]);

内容的提问来源于stack exchange,提问作者Magesh_Ramadass

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 13:15:19