帮我写一个vue成绩表管理增删改查
时间: 2023-07-01 09:14:09 浏览: 101
StudentDB.rar_StudentDB_信息系统
好的,下面是一个简单的Vue成绩表管理增删改查的示例代码:
```
<template>
<div>
<h2>成绩表管理</h2>
<table>
<thead>
<tr>
<th>姓名</th>
<th>科目</th>
<th>成绩</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr v-for="(item, index) in items" :key="index">
<td>{{ item.name }}</td>
<td>{{ item.subject }}</td>
<td>{{ item.score }}</td>
<td>
<button @click="editItem(index)">编辑</button>
<button @click="deleteItem(index)">删除</button>
</td>
</tr>
</tbody>
</table>
<div>
<h2>新增/编辑成绩</h2>
<form @submit.prevent="submitForm">
<div>
<label>姓名:</label>
<input type="text" v-model="form.name" />
</div>
<div>
<label>科目:</label>
<input type="text" v-model="form.subject" />
</div>
<div>
<label>成绩:</label>
<input type="text" v-model="form.score" />
</div>
<button type="submit">{{ editingIndex === null ? '新增' : '保存' }}</button>
</form>
</div>
</div>
</template>
<script>
export default {
data() {
return {
items: [
{ name: '张三', subject: '语文', score: 80 },
{ name: '李四', subject: '数学', score: 90 },
{ name: '王五', subject: '英语', score: 75 },
{ name: '赵六', subject: '物理', score: 85 },
],
form: {
name: '',
subject: '',
score: '',
},
editingIndex: null,
};
},
methods: {
editItem(index) {
this.editingIndex = index;
this.form = Object.assign({}, this.items[index]);
},
deleteItem(index) {
this.items.splice(index, 1);
},
submitForm() {
if (this.editingIndex === null) {
this.items.push(this.form);
} else {
this.items.splice(this.editingIndex, 1, this.form);
this.editingIndex = null;
}
this.form = { name: '', subject: '', score: '' };
},
},
};
</script>
```
这段代码包含一个成绩表的展示和管理界面,可以新增、删除和编辑成绩表中的条目。其中,数据存储在 `items` 数组中,表单数据存储在 `form` 对象中,`editingIndex` 用于标记当前正在编辑的条目的索引。展示和管理界面使用 HTML 表格元素实现,表格中可以编辑和删除条目。新增/编辑成绩表单使用 HTML 表单元素实现,表单中包含姓名、科目和成绩三个输入框,可以提交表单数据用于新增或编辑条目。
阅读全文