|
@@ -0,0 +1,76 @@
|
|
|
+<!DOCTYPE html>
|
|
|
+<html lang="en">
|
|
|
+ <head>
|
|
|
+ <meta charset="UTF-8" />
|
|
|
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
|
+ <title>Document</title>
|
|
|
+ </head>
|
|
|
+ <body>
|
|
|
+ <div id="app">
|
|
|
+ <h2>关键字搜索:<input type="text" v-model="keywords" /></h2>
|
|
|
+ <ul>
|
|
|
+ <li v-for="(item,index) in newList" :key="index">
|
|
|
+ {{index+1}}-我叫{{item.name}}--今年{{item.age}}--是一个{{item.sex}}孩
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ <button @click="sortType = 1">升序</button><br /><br />
|
|
|
+ <button @click="sortType = 2">降序</button><br /><br />
|
|
|
+ <button @click="sortType = 0">默认排序</button>
|
|
|
+ </div>
|
|
|
+ <script src="./vue.js"></script>
|
|
|
+ <script>
|
|
|
+ var app = new Vue({
|
|
|
+ data: {
|
|
|
+ arr: [
|
|
|
+ {
|
|
|
+ name: "LiLi",
|
|
|
+ age: 10,
|
|
|
+ sex: "女",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "John",
|
|
|
+ age: 17,
|
|
|
+ sex: "男",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "Lucy",
|
|
|
+ age: 22,
|
|
|
+ sex: "女",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "Jack",
|
|
|
+ age: 20,
|
|
|
+ sex: "男",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "孙悟空",
|
|
|
+ age: 33,
|
|
|
+ sex: "男",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "猪八戒",
|
|
|
+ age: 30,
|
|
|
+ sex: "男",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ keywords: "",
|
|
|
+ sortType: 0,
|
|
|
+ List: [],
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ newList() {
|
|
|
+ this.List = this.arr.filter((item) => {
|
|
|
+ return item.name.indexOf(this.keywords) !== -1;
|
|
|
+ });
|
|
|
+ if (this.sortType) {
|
|
|
+ this.List.sort((a,b) => {
|
|
|
+ return this.sortType == 1 ? a.age - b.age : b.age - a.age;
|
|
|
+ })
|
|
|
+ }
|
|
|
+ return this.List;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ }).$mount("#app");
|
|
|
+ </script>
|
|
|
+ </body>
|
|
|
+</html>
|