如何做到点击新增出现一组空的文本框而不是带有已有数据呢?
想做成以下样式
<table v-for="(item, index) in editpeopleList" :key="index">
<el-form-item label="姓名" prop="name">
<el-input v-model="form1.name" placeholder="请输入姓名" />
</el-form-item>
<el-form-item label="电话" prop="peoplephone">
<el-input v-model="form1.peoplephone" placeholder="请输入电话" />
</el-form-item>
<el-form-item label="岗位" prop="position">
<el-select v-model="form1.position" placeholder="请选择岗位">
<el-option
v-for="dict in dict.type.position"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</table>
// 删除指定行
deleteRow(index) {
this.editpeopleList.splice(index, 1);
},
/** 添加记录按钮操作 */
/**
* 新增<前端假新增>
*/
lineAdd() {
this.editpeopleList.push(editpeople)
},
/** 分配队员按钮操作 */
handleEdit(row) {
this.loading = true;
this.reset();
const id = row.id || this.ids
getEditpeople(id).then(response => {
this.loading = false;
this.form1= response.data;
this.edit= true;
this.title = "编辑队伍人员";
});
},
element
官网有动态表单的例子https://element.eleme.cn/#/zh-CN/component/form
编辑队伍人员(管理队员信息)的editpeople表里有一个字段teamname,用来存队员所对应的队伍名称,还有一个字段id唯一标识一个队员,是主键。没有外键。我尝试在表里添加两个所在队伍名称相同的队员,但是在界面上只显示最先添加的队员的信息,还是跟上面是一样的情况
【以下回答由 GPT 生成】
首先,需要修改lineAdd函数,以确保每次点击新增按钮时添加的是一组空的文本框信息。当前代码中,每次点击新增按钮时,都是直接将已存在的editpeople对象添加到editpeopleList数组中,导致每一行都引用了同一个对象,造成数据的重复和联动变化。
可以通过创建一个新的空对象,并将其添加到editpeopleList数组中来解决该问题。下面是修改后的代码:
lineAdd() {
const newRecord = {
name: "",
peoplephone: "",
position: ""
}
this.editpeopleList.push(newRecord);
}
这样,每次点击新增按钮时,都会添加一个新的空对象,而不是复制已有的数据。新添加的数据将是一个全新的对象,不会与已有数据发生关联。
【相关推荐】