index.html 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <script src="../vue.js"></script>
  7. </head>
  8. <body>
  9. <h1>动态表格Vue版</h1>
  10. <div id="app">
  11. <table border="1" width="600px" cellpadding="10" cellspacing="0">
  12. <tr>
  13. <th>序号</th>
  14. <th>姓名</th>
  15. <th>年龄</th>
  16. <th>专业</th>
  17. <th>操作</th>
  18. </tr>
  19. <tr v-for="(e,i) in employees" >
  20. <td>{{e.id}}</td>
  21. <td width="120px" >{{e.name}}</td>
  22. <td>{{e.age}}</td>
  23. <td>{{e.major}}</td>
  24. <td>
  25. <input type="button" value="删除" @click="delEmp(i)" />
  26. <input type="button" value="修改" @click="updateEmp(i)" />
  27. </td>
  28. </tr>
  29. </table>
  30. <hr>
  31. <!-- v-model 双向绑定 -->
  32. 序号:<input type="text" v-model="emp.id" /><br/>
  33. 姓名:<input type="text" v-model="emp.name" /><br/>
  34. 年龄:<input type="text" v-model="emp.age" /><br/>
  35. 专业:<input type="text" v-model="emp.major" /><br/>
  36. <input type="button" value="添加员工" @click="addEmp" />
  37. <input type="button" value="修改保存" @click="updateEmpSave" />
  38. </div>
  39. </body>
  40. <script>
  41. var vue = new Vue({
  42. el:"#app",
  43. data:{
  44. employees:[
  45. {id:"1",name:"张三丰",age:20,major:"计算机"},
  46. {id:"2",name:"张翠山",age:18,major:"软件"},
  47. {id:"3",name:"张无忌",age:22,major:"数学"},
  48. {id:"4",name:"张3",age:28,major:"工程"},
  49. {id:"5",name:"张4",age:23,major:"土木"}
  50. ],
  51. emp:{
  52. id:"1",
  53. name:"赵敏",
  54. age:18,
  55. major:"生物制药"
  56. }
  57. },
  58. methods:{
  59. addEmp(){
  60. //获取input 中的数据
  61. //console.log(this.emp)
  62. this.employees.push(this.emp)
  63. },
  64. delEmp(index){
  65. /*
  66. splice
  67. 三个参数,
  68. 第一个参数 索引
  69. 第二个参数 删除的数量 从索引开始
  70. 第三个参数 添加 的元素
  71. */
  72. console.log(index)
  73. this.employees.splice(index,1)
  74. /*
  75. 思考:实现修改?
  76. */
  77. },
  78. updateEmp: function (index) {
  79. let emp = this.employees[index];
  80. this.emp = {...emp};
  81. },
  82. updateEmpSave(index){
  83. this.employees.splice(index,1,this.emp)
  84. }
  85. }
  86. })
  87. </script>
  88. </html>