练习题4_筛选列表.html 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  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. #app{
  10. width: 500px;
  11. }
  12. .list-heade{
  13. display: flex;
  14. border-bottom: 3px solid #333;
  15. }
  16. .list-heade div{
  17. width: 120px;
  18. margin:10px;
  19. text-align: center;
  20. color: #111;
  21. }
  22. .list-item{
  23. display: flex;
  24. }
  25. .list-item div{
  26. width: 120px;
  27. margin:10px;
  28. text-align: center;
  29. color: #222;
  30. }
  31. </style>
  32. </head>
  33. <body>
  34. <div id="app">
  35. <input type="text" placeholder="请输入姓名" v-model="searchName" v-on:input="filterList">
  36. <div class="list-heade">
  37. <div>姓名</div>
  38. <div>性别</div>
  39. <div>地址</div>
  40. </div>
  41. <!-- <div class="list-item" v-for="item in list" :key="item.id" v-if="item.userName.includes(searchName)"> -->
  42. <div class="list-item" v-for="item in list" :key="item.id" >
  43. <div>{{item.userName}}</div>
  44. <div>{{item.sex}}</div>
  45. <div>{{item.address}}</div>
  46. </div>
  47. </div>
  48. <script>
  49. new Vue({
  50. el: '#app',
  51. data: {
  52. searchName:"",
  53. list: [
  54. { id: 1, userName: '李雷', sex: '男', address: '北京市朝阳区' },
  55. { id: 2, userName: '韩梅梅', sex: '女', address: '上海市浦东新区' },
  56. { id: 3, userName: '李华', sex: '男', address: '广州市天河区' },
  57. { id: 4, userName: '王芳', sex: '女', address: '深圳市南山区' },
  58. { id: 5, userName: '张伟', sex: '男', address: '成都市武侯区' },
  59. { id: 6, userName: '李娜', sex: '女', address: '重庆市渝中区' },
  60. { id: 7, userName: '王磊', sex: '男', address: '杭州市西湖区' },
  61. { id: 8, userName: '刘洋', sex: '女', address: '南京市玄武区' },
  62. { id: 9, userName: '李强', sex: '男', address: '武汉市江汉区' },
  63. { id: 10, userName: '王静', sex: '女', address: '西安市雁塔区' },
  64. { id: 11, userName: '赵雷', sex: '男', address: '天津市河西区' },
  65. { id: 12, userName: '孙娜', sex: '女', address: '长沙市芙蓉区' },
  66. { id: 13, userName: '李敏', sex: '男', address: '沈阳市沈河区' },
  67. { id: 14, userName: '王磊', sex: '女', address: '青岛市市南区' },
  68. { id: 15, userName: '张强', sex: '男', address: '合肥市庐阳区' },
  69. { id: 16, userName: '刘洋', sex: '女', address: '南昌市东湖区' },
  70. { id: 17, userName: '李华', sex: '男', address: '厦门市思明区' },
  71. { id: 18, userName: '王静', sex: '女', address: '福州市鼓楼区' },
  72. { id: 19, userName: '赵雷', sex: '男', address: '大连市中山区' },
  73. { id: 20, userName: '孙娜', sex: '女', address: '宁波市海曙区' }
  74. ],
  75. originList: [{ 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. methods:{
  98. filterList(){
  99. let newList = this.originList.filter((val)=>{
  100. // console.log(val.userName);
  101. // console.log(this.searchName);
  102. if(val.userName.includes(this.searchName)){
  103. // console.log(val);
  104. return true;
  105. }
  106. })
  107. // console.log(newList);
  108. this.list = newList;
  109. }
  110. }
  111. })
  112. </script>
  113. </body>
  114. </html>