实际开发,以及浏览器性能差
<template>
<div>
<div>
<!-- <input
type="text"
v-model="queryInfo.query"
@change="queryChange(queryInfo.query)"
placeholder="请输入商品内容"
/> -->
<input type="text" v-model="queryInfo.query" placeholder="请输入商品内容" />
</div>
<table>
<tr>
<th>编号<button @click="sortS(flag)" id="btnOne">升序</button></th>
<th>名称</th>
<th>价格(元)<button @click="sortJ(flag)" id="btnTow">降序</button></th>
</tr>
<tr v-for="item in contDatas" :key="item.id">
<th>{
{
item.id }}</th>
<th>{
{
item.goods_name }}</th>
<th>{
{
item.price }}</th>
</tr>
</table>
<!-- 分页 -->
<Page />
</div>
</template>
<script>
import data from "@/assets/data.json";
import Page from "@/components/page";
export default {
components: {
Page },
name: "",
data() {
return {
res: [],
contDatas: [],
queryInfo: {
query: "",
pagenum: 1,
pagesize: 5,
},
flag: false,
};
},
created() {
this.res = data.data;
this.contDatas = this.res;
},
mounted() {
},
methods: {
},
sortS(flag) {
this.flag = !this.flag;
console.log(flag);
if (flag == true) {
document.getElementById("btnOne").innerHTML = "升序";
this.res.sort((a, b) => {
return a.id - b.id;
});
} else {
document.getElementById("btnOne").innerHTML = "降序";
this.res.sort((a, b) => {
return b.id - a.id;
});
}
},
sortJ(flag) {
this.flag = !this.flag;
console.log(flag);
if (flag == true) {
document.getElementById("btnTow").innerHTML = "降序";
this.res.sort((a, b) => {
return a.price - b.price;
});
} else {
document.getElementById("btnTow").innerHTML = "升序";
this.res.sort((a, b) => {
return b.price - a.price;
});
}
},
},
computed: {
contData() {
let resData, queryStr;
resData = this.res;
queryStr = this.queryInfo.query;
resData = this.res.filter((item) => {
if (item.goods_name.indexOf(queryStr) != -1) {
return item;
}
});
return resData;
},
},
watch: {
},
};
</script>
<style scoped></style>