vue-前端动态增加和删除行
只有一行时,显示增加,点击增加会出现第二行, 第一行不能删除;其他行都可删除

<el-form ref="form" :rules="formRules" :inline="true" :model="form" label-width="120px">
<div v-for="(item, index) in form.courseType" :key="index">
<el-form-item label="学段" :prop="'courseType.' + index + '.catagory'">
<el-select v-model="item.catagory" placeholder="请选择学段">
<el-option label="小学" :value="87" />
<el-option label="初中" :value="73" />
<el-option label="高中" :value="65" />
<el-option label="测试" :value="30" />
</el-select>
</el-form-item>
<el-form-item label="科目" :prop="'courseType.' + index + '.subcatagory'">
<el-select v-model="item.subcatagory" placeholder="请选择科目">
<el-option label="语文" :value="51" />
<el-option label="数学" :value="52" />
<el-option label="英语" :value="56" />
<el-option label="政治" :value="60" />
<el-option label="历史" :value="59" />
<el-option label="生物" :value="30" />
<el-option label="化学" :value="58" />
<el-option label="物理" :value="57" />
</el-select>
</el-form-item>
<el-form-item
label="数量"
:prop="'courseType.' + index + '.amount'"
>
<el-input v-model.number="item.amount" type="number" />
</el-form-item>
<el-form-item>
<el-button v-if="index+1 == form.courseType.length" type="primary" @click="addItem">增加</el-button>
<el-button v-if="index !== 0" type="danger" @click="deleteItem(item, index)">删除</el-button>
</el-form-item>
</div>
</el-form>
方法实现:
methods: {
addItem() {
this.form.courseType.push({
catagory: '',
subcatagory: '',
amount: ''
})
},
deleteItem(item, index) {
this.form.courseType.splice(index, 1)
console.log(this.form.courseType, '删除')
}
}
}
参数:
data() {
return {
form: {
courseType: [
{
catagory: 73,
subcatagory: 51,
amount: 1
}
]
}
}
},
浙公网安备 33010602011771号