最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue實(shí)現(xiàn)iview表格添加篩選功能的示例代碼

 更新時(shí)間:2023年07月24日 11:32:51   作者:前端開(kāi)心果  
本文主要介紹了vue實(shí)現(xiàn)iview表格添加篩選功能的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

table的某列添加篩選功能

table中通過(guò)給columns數(shù)據(jù)的項(xiàng),設(shè)置 filters,可進(jìn)行篩選,filters 接收一個(gè)數(shù)組。

然后再指定一個(gè)篩選函數(shù) filterMethod 才可以進(jìn)行篩選,filterMethod 傳入兩個(gè)參數(shù)valuerow。

如果指定 filterMultiple: false,則只能單選,默認(rèn)為多選。

注意,篩選并不會(huì)影響到表格的源數(shù)據(jù) data。

基礎(chǔ)示例

<template>
    <Table border :columns="columns" :data="data"></Table>
</template>
<script>
    export default {
        data () {
            return {
                columns: [
                    {
                        title: '名稱',
                        key: 'name'
                    },
                    {
                        title: '年齡',
                        key: 'age',
                        filters: [
                            {
                                label: '大于25',
                                value: 1
                            },
                            {
                                label: '小于25',
                                value: 2
                            }
                        ],
                        filterMultiple: false,
                        filterMethod (value, row) {
                            if (value === 1) {
                                return row.age > 25;
                            } else if (value === 2) {
                                return row.age < 25;
                            }
                        }
                    },
                    {
                        title: '地址',
                        key: 'address',
                        filters: [
                            {
                                label: '北京',
                                value: '北京'
                            },
                            {
                                label: '上海',
                                value: '上海'
                            },
                            {
                                label: '四川',
                                value: '四川'
                            }
                        ],
                        filterMethod (value, row) {
                            return row.address.indexOf(value) > -1;
                        }
                    }
                ],
                data: [
                    {
                        name: '張三',
                        age: 10,
                        address: '四川',
                    },
                    {
                        name: '李四',
                        age: 25,
                        address: '上海',
                    },
                    {
                        name: '王五',
                        age: 35,
                        address: '北京',
                    },
                    {
                        name: '秀豆',
                        age: 27,
                        address: '四川',
                    }
                ],
            }
        }
    }
</script>

特殊情況改造

filters中的數(shù)據(jù)需要?jiǎng)討B(tài)獲取

當(dāng)filters中的內(nèi)容需要從后端接口中獲取,如果我們直接把從接口中獲取到的數(shù)據(jù)賦值給filters的話,篩選不會(huì)生效。錯(cuò)誤示例

{
    title: '年齡',
    key: 'age',
    filters: this.filters, // 從接口返回的數(shù)據(jù)
    filterMultiple: false,
    filterMethod (value, row) {
        // ...
    }
},

正確示例

// 偽代碼
const res = await this.$axois(...); // 獲取對(duì)應(yīng)接口數(shù)據(jù)
this.filters = res;
this.columns[1].filters = this.filters; // 當(dāng)前把需要的數(shù)據(jù)賦值給columns

filters中的數(shù)據(jù)過(guò)多,導(dǎo)致超出了屏幕內(nèi)容以外的區(qū)域

請(qǐng)?zhí)砑訄D片描述

這種情況怎么辦?可以會(huì)想沒(méi)法用了,得自己重新寫(xiě)個(gè)了,但轉(zhuǎn)念一想,這是css樣式問(wèn)題,我們可以檢查對(duì)應(yīng)元素,通過(guò)javascript拿到指定元素,然后去修改元素的相關(guān)樣式啊。解決方法

// 接上面的示例,當(dāng)filters中的數(shù)據(jù)從接口中獲取到后,我們`f12`拿到指定元素,修改它的高度等屬性即可。
this.$nextTick(() => {
  if (this.filters.length) {
    let listDom = document.querySelector(".main-ui-table-filter-list-item");
    listDom.style.height = "400px";
    listDom.style.overflow = "auto";
  }
})

修改后的樣式就沒(méi)撒問(wèn)題了

 到此這篇關(guān)于vue實(shí)現(xiàn)iview表格添加篩選功能的示例代碼的文章就介紹到這了,更多相關(guān)vue iview表格添加篩選內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Monaco-editor 的 JSON Schema 配置及使用介紹

    Monaco-editor 的 JSON Schema 配置及使用介紹

    這篇文章主要為大家介紹了Monaco-editor 的 JSON Schema 配置及使用介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • vue項(xiàng)目添加多頁(yè)面配置的步驟詳解

    vue項(xiàng)目添加多頁(yè)面配置的步驟詳解

    公司使用 vue-cli 創(chuàng)建的 vue項(xiàng)目 在初始化時(shí)并沒(méi)有做多頁(yè)面配置,隨著需求的不斷增加,發(fā)現(xiàn)有必要使用多頁(yè)面配置。這篇文章主要介紹了vue項(xiàng)目添加多頁(yè)面配置,需要的朋友可以參考下
    2019-05-05
  • webpack4+Vue搭建自己的Vue-cli項(xiàng)目過(guò)程分享

    webpack4+Vue搭建自己的Vue-cli項(xiàng)目過(guò)程分享

    這篇文章主要介紹了webpack4+Vue搭建自己的Vue-cli,對(duì)于vue-cli的強(qiáng)大,使用過(guò)的人都知道,極大的幫助我們降低了vue的入門(mén)門(mén)檻,感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-08-08
  • Vue使用json-server進(jìn)行后端數(shù)據(jù)模擬功能

    Vue使用json-server進(jìn)行后端數(shù)據(jù)模擬功能

    這篇文章主要介紹了Vue使用json-server進(jìn)行后端數(shù)據(jù)模擬功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-04-04
  • 解決Vue中 父子傳值 數(shù)據(jù)丟失問(wèn)題

    解決Vue中 父子傳值 數(shù)據(jù)丟失問(wèn)題

    這篇文章主要介紹了解決Vue中 父子傳值 數(shù)據(jù)丟失問(wèn)題,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 在vue-cli的組件模板里使用font-awesome的兩種方法

    在vue-cli的組件模板里使用font-awesome的兩種方法

    今天小編就為大家分享一篇在vue-cli的組件模板里使用font-awesome的兩種方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • vue項(xiàng)目頁(yè)面嵌入代碼塊vue-prism-editor的實(shí)現(xiàn)

    vue項(xiàng)目頁(yè)面嵌入代碼塊vue-prism-editor的實(shí)現(xiàn)

    這篇文章主要介紹了vue項(xiàng)目頁(yè)面嵌入代碼塊vue-prism-editor的實(shí)現(xiàn),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Vue自定義v-has指令實(shí)現(xiàn)按鈕權(quán)限判斷

    Vue自定義v-has指令實(shí)現(xiàn)按鈕權(quán)限判斷

    這篇文章主要給大家介紹了關(guān)于Vue自定義v-has指令實(shí)現(xiàn)按鈕權(quán)限判斷的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 利用Vue3封裝一個(gè)彈框組件簡(jiǎn)單嗎

    利用Vue3封裝一個(gè)彈框組件簡(jiǎn)單嗎

    最近在項(xiàng)目中自己封裝的一個(gè)記錄一下,下面這篇文章主要給大家介紹了關(guān)于利用Vue3封裝一個(gè)彈框組件的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-12-12
  • Vue.js對(duì)象轉(zhuǎn)換實(shí)例

    Vue.js對(duì)象轉(zhuǎn)換實(shí)例

    這篇文章主要介紹了 Vue.js對(duì)象轉(zhuǎn)換的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-06-06

最新評(píng)論

潮州市| 余干县| 南涧| 玉门市| 合阳县| 乌什县| 勃利县| 平塘县| 花莲市| 长汀县| 文登市| 乐山市| 溆浦县| 宁武县| 闸北区| 阳朔县| 望城县| 香港 | 山丹县| 诸暨市| 家居| 宜君县| 阿克苏市| 繁昌县| 华亭县| 莆田市| 洪泽县| 来安县| 东港市| 八宿县| 樟树市| 雅安市| 寻甸| 眉山市| 乌拉特前旗| 富源县| 芷江| 航空| 吉林省| 林周县| 拜城县|