我在vue 2中有用打字稿写的组件:

 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添加新项,但出现错误:参数类型{..}无法分配给Never类型的参数
如何将新项目添加到数组?

最佳答案

您需要声明userfilterresults的类型。

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

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

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


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

尝试

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


看看是否有帮助。

10-02 03:56