vue如何通過日期篩選數據
如何通過日期篩選數據
此片博客介紹的方法是通過請求後臺數據給的狀態,然後把自己選擇的時間傳過去實現篩選的,根據業務邏輯來參考吧!
下篇我們會說下通過vue過濾器來實現的方法!
業務邏輯:首先前端需要獲取其用戶選擇的日期數據,然後通過接口把日期數據傳給後端,後端接收數據會返回給前端新的數據,頁面在進行渲染。到此功能會是實現瞭
html部分
<div class="ag_listmain clearfix"> <div class="ag_yearlist" v-for="(item,key) in list" :key="key" @click="agrouter(item.id)"> <div class="agtitle"> <p>餘額提現-到{{item.from_to}}</p> <label>{{item.created_at}}</label> </div> <div class="ag_money"> <h4>{{item.money}}</h4> <label>提現成功</label> </div> </div>
vant日期組件
<van-popup v-model="show" position="bottom" > <van-datetime-picker v-model="currentDate" type="year-month" :min-date="minDate" :formatter="formatter" @confirm="confirm()" @cancel='cancel()' /> </van-popup>
js部分
return{ list:[] , datesed:"", } // 選擇事件後確定按鈕方法 confirm(){ this.show=false; this.page = 1; //讓當前的頁面顯示第一頁。 this.dates = this.formatDate(this.currentDate,`yyyy${'年'}MM${'月'}`); //將日期轉化為時間值 在我的博客主頁能找到這關於這個的博客 this.datesed = this.formatDate(this.currentDate,'yyyy-MM'); //將日期轉化為時間值 在我的博客主頁能找到這關於這個的博客 this.list = []; // 讓當前循環的數據為空,因為我做的數據分頁是往裡對堆數據的, this.agplease(); //執行請求數據方法 // console.log(this.datesed) //獲取時間值 }, //請求數據 agplease(){ this.axios.get('user/bill',{ params : { state : 3, //傳參數 page:this.page, page_size:8, date : this.datesed, //後臺給的狀態等於你提交的時間數據。這樣就可以瞭, } }).then(res => { // 下面嗎是我自己處理數據的方法, if(res.data.code === 200){ let aglist = res.data.data; // 總數據 let arr = aglist.list; // 數據·列表作為循環 let page_size =this.aglist.page_size; // 每頁顯示條數 for(let i=0; i<arr.length; i++){ // console.log(this.list) this.list.push(arr[i]); } console.log(this.list); this.lastpage =aglist.total_page; // 加載狀態結束 this.loading = false; if(this.lastpage <= this.page){ this.finished = true; } this.page++; // console.log(this.list); } }) }
上面的代碼希望對你有幫助,當然寫法有很多根據你們自己的風格去寫
vue簡單數據篩選
給大傢分享一個簡單的用vue實現數據篩選的代碼,因為我下載瞭vue.js所以我是內聯的,沒有下載的同學可以去下載一下vue 官網
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <script src="../vue.js"></script> <div id="app"> <input type="text" v-model="keyword"/> <div class="box" v-for="item in flist" :key="item"> {{item}} </div> </div> <script type="text/javascript"> new Vue({ el:"#app", data:{ keyword:"", list:["草莓","菠蘿","杏","李子","西瓜","木瓜","哈密瓜","山竹","櫻桃","香蕉","芒果"] }, computed:{ flist(){ // 如果item(水果列表中變量的項)包含文字 this.keyword(搜索關鍵字) // a.includes(b)如果a包含b就返回true // 返回true當前水果·就保留 return this.list.filter(item=>item.includes(this.keyword)) } } }) </script> </body> </html>
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。