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

vue實現iview表格添加篩選功能的示例代碼

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

table的某列添加篩選功能

table中通過給columns數據的項,設置 filters,可進行篩選,filters 接收一個數組。

然后再指定一個篩選函數 filterMethod 才可以進行篩選,filterMethod 傳入兩個參數valuerow

如果指定 filterMultiple: false,則只能單選,默認為多選。

注意,篩選并不會影響到表格的源數據 data。

基礎示例

<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中的數據需要動態(tài)獲取

filters中的內容需要從后端接口中獲取,如果我們直接把從接口中獲取到的數據賦值給filters的話,篩選不會生效。錯誤示例

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

正確示例

// 偽代碼
const res = await this.$axois(...); // 獲取對應接口數據
this.filters = res;
this.columns[1].filters = this.filters; // 當前把需要的數據賦值給columns

filters中的數據過多,導致超出了屏幕內容以外的區(qū)域

請?zhí)砑訄D片描述

這種情況怎么辦?可以會想沒法用了,得自己重新寫個了,但轉念一想,這是css樣式問題,我們可以檢查對應元素,通過javascript拿到指定元素,然后去修改元素的相關樣式啊。解決方法

// 接上面的示例,當filters中的數據從接口中獲取到后,我們`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";
  }
})

修改后的樣式就沒撒問題了

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

相關文章

  • 關于vue中標簽的屬性綁定值渲染問題

    關于vue中標簽的屬性綁定值渲染問題

    這篇文章主要介紹了關于vue中標簽的屬性綁定值渲染問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Vue實現移動端左右滑動效果的方法

    Vue實現移動端左右滑動效果的方法

    最近得到一個新需求,需要在Vue項目的移動端頁面上加上左右滑動效果,經過一番折騰,最終決定四月vue-touch。下面小編把實現代碼分享給大家,感興趣的朋友一起看看吧
    2018-11-11
  • 詳解Vue實戰(zhàn)指南之依賴注入(provide/inject)

    詳解Vue實戰(zhàn)指南之依賴注入(provide/inject)

    這篇文章主要介紹了詳解Vue實戰(zhàn)指南之依賴注入(provide/inject),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • Vue3 (五)集成HTTP庫axios詳情

    Vue3 (五)集成HTTP庫axios詳情

    這篇文章主要講解Vue3 集成HTTP庫axios的相關內容,本文講圍繞如何利用Vue3 集成HTTP庫axios的相關資料展開文章,需要的朋友可以參考一下,希望對你有所幫助
    2021-10-10
  • vue動態(tài)合并單元格并添加小計合計功能示例

    vue動態(tài)合并單元格并添加小計合計功能示例

    這篇文章主要給大家介紹了關于vue動態(tài)合并單元格并添加小計合計功能的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Vue中使用a標簽下載靜態(tài)資源文件(如excel、pdf等)純前端操作方法

    Vue中使用a標簽下載靜態(tài)資源文件(如excel、pdf等)純前端操作方法

    這篇文章主要介紹了Vue中使用a標簽下載靜態(tài)資源文件(如excel、pdf等)純前端操作方法的相關資料,需要的朋友可以參考下
    2025-02-02
  • vue 巧用過渡效果(小結)

    vue 巧用過渡效果(小結)

    這篇文章主要介紹了vue 巧用過渡效果(小結),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • vue 項目@change多個參數傳值多個事件的操作

    vue 項目@change多個參數傳值多個事件的操作

    這篇文章主要介紹了vue 項目@change多個參數傳值多個事件的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • 解決vue ui報錯Couldn‘t parse bundle asset“C:\Users\Administrator\vue_project1\dist\js\about.js“. Analyzer

    解決vue ui報錯Couldn‘t parse bundle asset“C:

    這篇文章主要介紹了解決vue ui報錯Couldn‘t parse bundle asset“C:\Users\Administrator\vue_project1\dist\js\about.js“. Analyzer問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • VUE-cli3使用 svg-sprite-loader

    VUE-cli3使用 svg-sprite-loader

    svg-sprite-loader 的插件,用來根據導入的 svg 文件自動生成 symbol 標簽并插入 html,這篇文章主要介紹了VUE-cli3使用 svg-sprite-loader,需要的朋友可以參考下
    2018-10-10

最新評論