12.列表过滤.html 1.6 KB

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