12.列表过滤.html 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. </head>
  8. <body>
  9. <div id="app">
  10. 关键字搜索:<input type="text" placeholder="请输入关键字" v-model="keyWord" >
  11. <ul v-for="(item,index) in newList" :key="index">
  12. <li>{{index+1}}--我叫{{item.name}}--今年{{item.age}}--是个{{item.sex}}孩</li>
  13. </ul>
  14. </div>
  15. <script src="./vue.js"></script>
  16. <script>
  17. var vm = new Vue({
  18. data: {
  19. keyWord:"",
  20. arr: [
  21. {
  22. name: "Lucy",
  23. age: 11,
  24. sex: "女",
  25. },
  26. {
  27. name: "LiLi",
  28. age: 31,
  29. sex: "男",
  30. },
  31. {
  32. name: "八戒",
  33. age: 21,
  34. sex: "男",
  35. },
  36. {
  37. name: "八卦",
  38. age: 23,
  39. sex: "男",
  40. },
  41. {
  42. name: "孙悟空",
  43. age: 27,
  44. sex: "男",
  45. },
  46. {
  47. name: "唐僧",
  48. age: 33,
  49. sex: "女",
  50. },
  51. ],
  52. },
  53. computed:{
  54. newList(){
  55. return this.arr.filter((ele) => {
  56. return ele.name.indexOf(this.keyWord) != -1
  57. })
  58. }
  59. }
  60. }).$mount("#app");
  61. </script>
  62. </body>
  63. </html>