日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于表格分页缓存数据

發布時間:2023/12/14 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于表格分页缓存数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于表格分頁緩存數據

常規情況下

在日常工作中,我們翻頁的時候都是通過請求來獲取接口數據并渲染在表格中,只需要變動page,size就可以實現
如:

getList() {this.$api.getSKUdetail(this.id, {size: this.page_params.size, // 每頁顯示條數page: this.page_params.page // 第幾頁}).then((res) => {if (res.ret) {// 獲取列表數據this.page_params.total = res.meta.totalthis.form.skuDetail = res.data}})},

這樣的方便前端,只需要去關注頁數和條碼并回顯就夠了

需求

現在有一個需求就是,用戶需要通過填寫表格數據來提交數據,需要提交的數據甚至多達千條,這時候單純的分頁就可能力不從心了達不到需求,所以筆者這里就把表格數據緩存下來,同時離開頁面時驗證提交保存數據

實現

具體思路是創建一個數組對象,當請求未緩存的數據時就調用getList,拿到數據后標識已緩存,發請求之前驗證是否緩存,已緩存就在緩存的二維數組里面找到并賦值給表格的data

data() {return {cacheSku: [], // 緩存的數組skus: [], // 表格顯示的列表page_params: {page: 1,size: 5}} } // 分頁跳轉 handleCurrentChange(val) {this.page_params.page = val// 是否已經緩存const flag = this.cacheSku.filter((item) => {return item.page === val && item.cache})flag.length > 0 ? this.form.skus= flag[0].item : this.getList()/*寫法同上if (flag.length > 0) // 已經緩存this.form.skuDetail = flag[0].item} else {// 未緩存this.getList()}*/ }, getList() {this.$api.getSKUdetail(this.id, {size: this.page_params.size, // 每頁顯示條數page: this.page_params.page // 第幾頁}).then((res) => {if (res.ret) {// 獲取列表數據this.page_params.total = res.meta.totalthis.form.skuDetail = res.datathis.cacheSku.push({cache: true, // 標識已緩存page: res.meta.current_page, // 標識第幾頁已緩存item: res.data // 緩存的數據})console.log(this.cacheSku)}})},

需要改進的地方

當用戶有切換頁數size的需求時,筆者這里的操作是清空緩存并重新開始緩存 ,這里還不知道怎么改進,大家有什么好的想法可以在下面留言 ———前端菜鳥一枚(比心)

總結

以上是生活随笔為你收集整理的关于表格分页缓存数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。