练习3_筛选内容.html 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. <script src="./js/vue.js"></script>
  8. <style>
  9. table {
  10. border-collapse: collapse;
  11. }
  12. /* table td{
  13. border: 1px solid black;
  14. } */
  15. td {
  16. width: 120px;
  17. text-align: center;
  18. height: 30px;
  19. }
  20. thead tr th {
  21. border-bottom: 2px solid black;
  22. }
  23. </style>
  24. </head>
  25. <body>
  26. <div id="app">
  27. <div class="inp-content">
  28. <input type="text" v-model="inpVal">
  29. </div>
  30. <table>
  31. <thead>
  32. <tr>
  33. <th>姓名</th>
  34. <th>性别</th>
  35. <th>地址</th>
  36. </tr>
  37. </thead>
  38. <tbody>
  39. <tr v-for="item in dataList" v-show="item.userName.includes(inpVal)">
  40. <td>{{item.userName}}</td>
  41. <td>{{item.sex}}</td>
  42. <td>{{item.address}}</td>
  43. </tr>
  44. </tbody>
  45. </table>
  46. </div>
  47. <script>
  48. let _data = [
  49. { id: 1, userName: '李雷', sex: '男', address: '北京市朝阳区' },
  50. { id: 2, userName: '韩梅梅', sex: '女', address: '上海市浦东新区' },
  51. { id: 3, userName: '李华', sex: '男', address: '广州市天河区' },
  52. { id: 4, userName: '王芳', sex: '女', address: '深圳市南山区' },
  53. { id: 5, userName: '张伟', sex: '男', address: '成都市武侯区' },
  54. { id: 6, userName: '李娜', sex: '女', address: '重庆市渝中区' },
  55. { id: 7, userName: '王磊', sex: '男', address: '杭州市西湖区' },
  56. { id: 8, userName: '刘洋', sex: '女', address: '南京市玄武区' },
  57. { id: 9, userName: '李强', sex: '男', address: '武汉市江汉区' },
  58. { id: 10, userName: '王静', sex: '女', address: '西安市雁塔区' },
  59. { id: 11, userName: '赵雷', sex: '男', address: '天津市河西区' },
  60. { id: 12, userName: '孙娜', sex: '女', address: '长沙市芙蓉区' },
  61. { id: 13, userName: '李敏', sex: '男', address: '沈阳市沈河区' },
  62. { id: 14, userName: '王磊', sex: '女', address: '青岛市市南区' },
  63. { id: 15, userName: '张强', sex: '男', address: '合肥市庐阳区' },
  64. { id: 16, userName: '刘洋', sex: '女', address: '南昌市东湖区' },
  65. { id: 17, userName: '李华', sex: '男', address: '厦门市思明区' },
  66. { id: 18, userName: '王静', sex: '女', address: '福州市鼓楼区' },
  67. { id: 19, userName: '赵雷', sex: '男', address: '大连市中山区' },
  68. { id: 20, userName: '孙娜', sex: '女', address: '宁波市海曙区' }
  69. ]
  70. var app = new Vue({
  71. el: '#app',
  72. data: {
  73. inpVal: '',
  74. dataList: [
  75. { id: 1, userName: '李雷', sex: '男', address: '北京市朝阳区' },
  76. { id: 2, userName: '韩梅梅', sex: '女', address: '上海市浦东新区' },
  77. { id: 3, userName: '李华', sex: '男', address: '广州市天河区' },
  78. { id: 4, userName: '王芳', sex: '女', address: '深圳市南山区' },
  79. { id: 5, userName: '张伟', sex: '男', address: '成都市武侯区' },
  80. { id: 6, userName: '李娜', sex: '女', address: '重庆市渝中区' },
  81. { id: 7, userName: '王磊', sex: '男', address: '杭州市西湖区' },
  82. { id: 8, userName: '刘洋', sex: '女', address: '南京市玄武区' },
  83. { id: 9, userName: '李强', sex: '男', address: '武汉市江汉区' },
  84. { id: 10, userName: '王静', sex: '女', address: '西安市雁塔区' },
  85. { id: 11, userName: '赵雷', sex: '男', address: '天津市河西区' },
  86. { id: 12, userName: '孙娜', sex: '女', address: '长沙市芙蓉区' },
  87. { id: 13, userName: '李敏', sex: '男', address: '沈阳市沈河区' },
  88. { id: 14, userName: '王磊', sex: '女', address: '青岛市市南区' },
  89. { id: 15, userName: '张强', sex: '男', address: '合肥市庐阳区' },
  90. { id: 16, userName: '刘洋', sex: '女', address: '南昌市东湖区' },
  91. { id: 17, userName: '李华', sex: '男', address: '厦门市思明区' },
  92. { id: 18, userName: '王静', sex: '女', address: '福州市鼓楼区' },
  93. { id: 19, userName: '赵雷', sex: '男', address: '大连市中山区' },
  94. { id: 20, userName: '孙娜', sex: '女', address: '宁波市海曙区' }
  95. ]
  96. },
  97. created:function() {
  98. let obj = {
  99. val:this.dataList
  100. };
  101. let val = JSON.stringify(obj);
  102. localStorage.setItem("_dataList", val);
  103. },
  104. watch: {
  105. inpVal: function (val) {
  106. let _val = localStorage.getItem("_dataList");
  107. let obj = JSON.parse(_val).val;
  108. let filterArr = obj.filter((item)=>{
  109. if(item.userName.includes(val)){
  110. return true;
  111. }
  112. })
  113. this.dataList = filterArr;
  114. }
  115. // inpVal: function (val) {
  116. // let filterArr = _data.filter((item) => {
  117. // if (item.userName.includes(val)) {
  118. // return true;
  119. // }
  120. // })
  121. // // console.log(filterArr);
  122. // this.dataList = filterArr;
  123. // }
  124. }
  125. })
  126. </script>
  127. </body>
  128. </html>