选择已在库中的时候可以提交,选择未在库中就会报Cannot read properties of undefined (reading 'name'),请问应该怎么修改呢?
class="grid-content bg-purple"> <el-radio border size="mini" @change="existenceChange(existence)" v-model="existence" :label="1"> 已在库中 el-radio> <el-radio border size="mini" @change="existenceChange(existence)" v-model="existence" :label="0"> 未在库中 el-radio><el-row> <el-col :span="8"> <el-form-item label="物资数量" prop="numbers" v-show="existence === 1"> <el-input v-model="addForm.numbers">el-input> el-form-item> el-col> el-row><el-row> <el-col :span="8"> <el-form-item label="物资名称" prop="itemname" v-show="existence === 0"> <el-input v-model="addForm.itemname">el-input> el-form-item> el-col> el-row> <el-row> <el-col :span="8"> <el-form-item label="物资数量" prop="numbers" v-show="existence === 0"> <el-input v-model="addForm.numbers">el-input> el-form-item> el-col> el-row> <el-row> <el-col :span="8"> <el-form-item label="物资单位" prop="unit" v-show="existence === 0"> <el-input v-model="addForm.unit">el-input> el-form-item> el-col> el-row> selectedItems() { return this.stockList.filter(item => this.$refs.table.selection.includes(item)) .map(item => ({ name: item.itemname, unit: item.unit })); } addIn() { this.$refs.addFormRef.validate(async valid => { if (!valid) return; this.setUserInfo(); const {data: res} = await this.$http.post("addIn", this.addForm); if (res != "success") { return this.$message.error("入库失败~"); } this.$message.success("入库成功~"); this.addDialogVisible = false; this.getStockList(); }); }, setUserInfo() { // 填入用户名 this.addForm.worker = this.showUsername; this.addForm.itemname = this.selectedItems[0].name; this.addForm.unit = this.selectedItems[0].unit; },
参考GPT和自己的思路:这个报错很可能是因为你在selectedItems函数中使用了this.selectedItems而它并没有被正确声明或者赋值。所以你需要确认一下在你的代码中,是否正确声明或者赋值了this.selectedItems变量。