欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用ElementUI寫(xiě)一個(gè)前端分頁(yè)查詢的實(shí)例

 更新時(shí)間:2022年02月18日 09:52:57   作者:強(qiáng)風(fēng)吹拂丶  
本文主要介紹了使用ElementUI寫(xiě)一個(gè)前端分頁(yè)查詢的實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

前言

一般我們?cè)谧鲰?xiàng)目的時(shí)候,都是通過(guò)調(diào)用后臺(tái)接口去做增刪改查,但是也有例外,有些某些特定場(chǎng)景下,會(huì)讓前端去做好增刪改查. 那么我們今天就來(lái)做一下這個(gè)需求. 使用的框架是Vue,UI框架是使用率很高的ElementUI. 那么我們開(kāi)干吧。

前端分頁(yè)

假定我們的數(shù)據(jù)是通過(guò)點(diǎn)擊一個(gè)添加按鈕,彈出一個(gè)添加彈窗,輸入好數(shù)據(jù)后,點(diǎn)擊確定按鈕,把數(shù)據(jù)保存到表格中去. 那么就是這樣的

{
    data () {
        return {
            page: {
                pageOffset: 1, // 分頁(yè)頁(yè)碼, 默認(rèn)第一頁(yè)
                pageCount: 20, // 一頁(yè)的頁(yè)數(shù), 默認(rèn)20
            },
            allData: [], // 表格所有數(shù)據(jù)的數(shù)據(jù)源
            tableData: [] // 表格數(shù)據(jù)源
        }
    },
    methods: {
        // 添加按鈕,彈窗一系列操作后,點(diǎn)擊確定保存數(shù)據(jù),調(diào)用的方法
        saveData (data) {
            if (!data) return
            this.allData.push(data)
            this.paging()
        },
        // 點(diǎn)擊第一頁(yè),第二頁(yè)的監(jiān)聽(tīng)方法
        pageChange (pageOffset) {
          this.page.pageOffset = pageOffset
          this.paging()
        },
        // 分頁(yè)方法
        paging () {
            const pageOffset = this.page.pageOffset // 頁(yè)碼
            const pageCount = this.page.pageCount // 一頁(yè)顯示多少個(gè)數(shù)據(jù)
            this.tableData = this.allData.slice((pageOffset - 1) * pageCount, pageOffset * pageCount)
        }
    }
}

具體代碼差不多就是這樣啦,其實(shí)是很簡(jiǎn)單,但是有的時(shí)候,可能也會(huì)沒(méi)有思路。下面來(lái)總結(jié)一下前端分頁(yè)的幾個(gè)點(diǎn):

  • 需要兩個(gè)變量,一個(gè)存儲(chǔ)的是總的數(shù)據(jù),一個(gè)存儲(chǔ)的是我們頁(yè)面需要展示的分頁(yè)數(shù)據(jù)
  • 然后就是根據(jù)頁(yè)碼和一頁(yè)展示的頁(yè)數(shù)通過(guò)slice方法去得到

查詢

假如在前端分頁(yè)的內(nèi)容下,需求再讓加上一個(gè)查詢條件,去過(guò)濾數(shù)據(jù),并且需要根據(jù)多條件過(guò)濾,那么怎么辦呢? 我們可以寫(xiě)一個(gè)這樣的方法:

// 查詢數(shù)據(jù)
// val:  輸入框查詢的值
// data: 查詢的數(shù)據(jù)源
// fuzzySearch: 是否是模糊查詢
function search (key, val, data, fuzzySearch = false) {
      const searchTxt = val.trim()
      if (searchTxt === '') {
        return data
      }
      // 如果以空格隔開(kāi)的話,則表示可以多值過(guò)濾
      if (searchTxt && ~searchTxt.indexOf(' ')) {
        let searchTxtArr = searchTextToArr(searchTxt)
        return data.filter((o) => {
          return ~searchTxtArr.indexOf(o[key])
        })
      } else {
        // 單值過(guò)濾
        return data.filter((o) => {
          // 是否是模糊查詢
          return fuzzySearch ? ~o[key].indexOf(searchTxt) : searchTxt === o[key]
        })
      }
}
// 把多選查詢條件變成數(shù)組
function searchTextToArr (str) {
    let text = str.trim()
    // 過(guò)濾掉多余的空格, 比如 '男  女' 中間多輸入了一個(gè)空格的情況.
    return text.split(' ').filter((o) => {
        return o === '0' || o
    })
}
// 數(shù)據(jù)
const data = [
    {name: 'james', sex: '男'},
    {name: 'nancy', sex: '女'},
    {name: 'bob', sex: '男'},
    {name: 'allen', sex: '男'},
    {name: 'jack', sex: '男'},
    {name: 'jasmine', sex: '女'},
]
// 測(cè)試
search('name', 'jack   jasmine', data) // [{"name":"jack","sex":"男"},{"name":"jasmine","sex":"女"}]
search('name', ' allen ', data) // [{"name":"allen","sex":"男"}]
search('name', 'j', data, true) // [{"name":"james","sex":"男"},{"name":"jack","sex":"男"},{"name":"jasmine","sex":"女"}]

以上代碼實(shí)現(xiàn)了模糊查詢、多值查詢、單值精確查詢。 主要就是利用indexOf、filter去做過(guò)濾和判斷. 另外還去做了一些用戶的誤操作的時(shí)候的兼容,讓用戶在不完全符合輸入條件的時(shí)候,也能找到想要的數(shù)據(jù)。增強(qiáng)用戶體驗(yàn). 代碼的話,里邊寫(xiě)了注釋?zhuān)苋菀锥?如果有不懂的地方的話,可以留言跟我說(shuō)一下,大家交流一下.

寫(xiě)在最后

今天主要分享用ElementUI寫(xiě)一個(gè)前端分頁(yè),然后搜索的話,怎么實(shí)現(xiàn)模糊查詢、精確查詢以及多值查詢的功能。 內(nèi)容比較樸素啦。 但是還是比較偏實(shí)用的。

到此這篇關(guān)于使用ElementUI寫(xiě)一個(gè)前端分頁(yè)查詢的實(shí)例的文章就介紹到這了,更多相關(guān)Element 分頁(yè)查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Weex基于Vue2.0開(kāi)發(fā)模板搭建

    詳解Weex基于Vue2.0開(kāi)發(fā)模板搭建

    這篇文章主要介紹了詳解Weex基于Vue2.0開(kāi)發(fā)模板搭建,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • element-ui中實(shí)現(xiàn)tree子節(jié)點(diǎn)部分選中時(shí)父節(jié)點(diǎn)也選中

    element-ui中實(shí)現(xiàn)tree子節(jié)點(diǎn)部分選中時(shí)父節(jié)點(diǎn)也選中

    這篇文章主要介紹了element-ui中實(shí)現(xiàn)tree子節(jié)點(diǎn)部分選中時(shí)父節(jié)點(diǎn)也選中的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • electron+vue實(shí)現(xiàn)div contenteditable截圖功能

    electron+vue實(shí)現(xiàn)div contenteditable截圖功能

    這篇文章主要介紹了electron+vue實(shí)現(xiàn)div contenteditable截圖功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Vue報(bào)錯(cuò)Component?name"Home"should?always?be?multi問(wèn)題

    Vue報(bào)錯(cuò)Component?name"Home"should?always?be?mult

    這篇文章主要介紹了Vue報(bào)錯(cuò)Component?name"Home"should?always?be?multi問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 淺談基于Vue.js的移動(dòng)組件庫(kù)cube-ui

    淺談基于Vue.js的移動(dòng)組件庫(kù)cube-ui

    這篇文章主要介紹了基于Vue.js的移動(dòng)組件庫(kù)cube-ui,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • nuxt踩坑之Vuex狀態(tài)樹(shù)的模塊方式使用詳解

    nuxt踩坑之Vuex狀態(tài)樹(shù)的模塊方式使用詳解

    這篇文章主要介紹了nuxt踩坑之Vuex狀態(tài)樹(shù)的模塊方式使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Vue3開(kāi)發(fā)必備的六個(gè)VSCode插件推薦

    Vue3開(kāi)發(fā)必備的六個(gè)VSCode插件推薦

    在VSCode中添加好用的插件可以提高我們的開(kāi)發(fā)效率,這些可以幫助我們格式化,擴(kuò)充性,執(zhí)行最佳實(shí)踐的代碼方式,自動(dòng)完成一些瑣碎的事情,下面這篇文章主要給大家推薦介紹了關(guān)于Vue3開(kāi)發(fā)必備的六個(gè)VSCode插件,需要的朋友可以參考下
    2022-12-12
  • vue如何從后臺(tái)獲取數(shù)據(jù)生成動(dòng)態(tài)菜單列表

    vue如何從后臺(tái)獲取數(shù)據(jù)生成動(dòng)態(tài)菜單列表

    這篇文章主要介紹了vue如何從后臺(tái)獲取數(shù)據(jù)生成動(dòng)態(tài)菜單列表,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue?vant使用ImagePreview實(shí)現(xiàn)預(yù)覽圖片

    Vue?vant使用ImagePreview實(shí)現(xiàn)預(yù)覽圖片

    這篇文章主要介紹了Vue?vant使用ImagePreview實(shí)現(xiàn)預(yù)覽圖片,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue與django集成打包的實(shí)現(xiàn)方法

    vue與django集成打包的實(shí)現(xiàn)方法

    這篇文章主要介紹了vue與django集成打包的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11

最新評(píng)論