学生信息管理系统 - Vue.js 实现
<div id="app">
<form>
<label>班级:</label>
<input type="text" v-model="newStudent.grade">
<label>姓名:</label>
<input type="text" v-model="newStudent.name">
<label>性别:</label>
<input type="text" v-model="newStudent.gender">
<label>年龄:</label>
<input type="text" v-model="newStudent.age">
<button type="button" @click.prevent="addOrUpdateStudent">确认{{selectedIndex === null ? '添加' : '修改'}}</button>
<button type="button" @click.prevent="reset">重置表单</button>
</form>
<table border="1" width="50%" style="border-collapse: collapse;">
<tr>
<th>班级</th>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
<th>操作</th>
</tr>
<pre><code><tr align="center" v-for="(item, index) in students">
<td>{{item.grade}}</td>
<td>{{item.name}}</td>
<td>{{item.gender}}</td>
<td>{{item.age}}</td>
<td>
<button type="button" @click.prevent="editStudent(index)">修改</button>
<button type="button" @click.prevent="delStudent(index)">删除</button>
</td>
</tr>
</code></pre>
</table>
</div>
<script type="text/javascript">
let vm=new Vue ({
el:'#app',
data:{
students:[],
newStudent:{
grade:'',
name:'',
gender:'',
age:''
},
selectedIndex: null
},
methods:{
addOrUpdateStudent(){
if(this.selectedIndex === null) {
this.students.push(this.newStudent);
} else {
this.students.splice(this.selectedIndex, 1, this.newStudent);
}
this.reset();
},
editStudent(index) {
this.newStudent = Object.assign({}, this.students[index]);
this.selectedIndex = index;
},
delStudent(index){
this.students.splice(index, 1);
},
reset() {
this.newStudent = {
grade:'',
name:'',
gender:'',
age:''
};
this.selectedIndex = null;
}
}
})
</script>
原文地址: https://www.cveoy.top/t/topic/nQtX 著作权归作者所有。请勿转载和采集!