报错:Unresolved variable selection

请问为什么我selectedItems里的selection会报错?

"stockList" style="height:430px;" border>
              <el-table-column type="selection" :reserve-selection="true">el-table-column>
              <el-table-column prop="itemname" label="物资名称">el-table-column>
              <el-table-column prop="numbers" label="物资数量">el-table-column>
              <el-table-column prop="unit" label="物资单位">el-table-column>
            

selectedItems() {
      return this.stockList.filter(item => this.$refs.table.selection.includes(item))
          .map(item => ({ name: item.itemname, unit: item.unit }));
    }

setUserInfo() {
      // 填入用户名
      this.addForm.person = this.showUsername;
      this.addForm.itemtype = this.selectedItems[0].name;
      this.addForm.unit = this.selectedItems[0].unit;

    },

该回答引用GPT:
可能是因为你在selectedItems()方法中使用了this.$refs.table.selection,但是你没有在el-table标签中定义ref属性,所以报错了。

解决方法:
在el-table标签中添加ref属性,如:

<el-table ref="table" :data="stockList" style="height:430px;" border>
              <el-table-column type="selection" :reserve-selection="true"></el-table-column>
              <el-table-column prop="itemname" label="物资名称"></el-table-column>
              <el-table-column prop="numbers" label="物资数量"></el-table-column>
              <el-table-column prop="unit" label="物资单位"></el-table-column>
            </el-table>

如还有疑问,可以私信帮助解决。

参考GPT和自己的思路:从你的代码中看出,你将selectedItems写成了一个函数而不是一个数组,如果你想要调用它,你需要加上括号,即this.selectedItems()。另外,请确保在setUserInfo之前,已经选中了至少一个项,否则selectedItems数组为空并且会导致无法读取数组的某个元素。