javascript - typescript 如何将新项目添加到空对象数组

标签 javascript arrays typescript vuejs2 vue-component

我在 vue 2 中有一个组件,它是用 typescript 编写的:

 data: {
    userfilterresults: []
  },
  mounted() {
    axios.get("/Tasks/GetTasks")
      .then(response => {
        this.userfilterresults = response.data;
      });
  },
  methods: {
    addtab() {
      // this push bellow is the reason of the error:
      this.userfilterresults.push({
        id : '-1',
        userid : '1',
        name : 'newtab'
      });

我想向现有数组 userfilterresults 添加新项,但出现错误:Argument type {..} is not assignable to parameter of type never 如何向数组添加新项?

最佳答案

您需要为 userfilterresults 声明一个类型。

默认情况下,对于 let x = []x 的类型将为 never[]

您需要明确指定它或将其标记为any[]。例如

let x: any[] = []
let y: CustomType[] = []

我不熟悉 Vue 的类型,但这是根本原因。

尝试

data: {
  userfilterresults: [] as any[]
}

看看是否有帮助。

关于javascript - typescript 如何将新项目添加到空对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48029149/

相关文章:

javascript - 检查输入字段是否有焦点并将输入变量传递给函数

java - 缩放表示像素的字节数组的函数

c - C 中 char 数组的动态内存分配问题

javascript fetch 自动将 http 更改为 https

javascript - Html 表单单选按钮设置为默认选中基于 PHP 变量

typescript - 将数组传播到 typescript 中的参数

typescript 找不到 jszip 类型

node.js - 从 Typescript 生成的导入 Node.js 模块的 'default' 部分是什么?

javascript - 我正在学习react.js,但我发现很难理解react应用程序在部署后将如何工作?

python - 在 Python 中对数组的各个部分求平均值