12.列表过滤.html 1.9 KB

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