基於ElementUI + Vue-Cli3.0 開發的表頭帶有多種篩選器表格元件(開發者可自定義篩選器)...
即將支援ElementUI中對<el-tag></el-tab>,<el-table></el-table>,<el-pagination></el-pagination> 全部屬性和事件的配置
dg-table
專案介紹
基於ElementUI + Vue-cli3.0 開發的強大表頭篩選器的表格,同時提供使用者自定義篩選器
預設提供的篩選器:
- 從伺服器拉取匹配項列表
- 單純的文字搜尋
- 提供單選的列表
- 聯級選擇器(可用於地區搜尋)
- 日期篩選
- 範圍篩選
除了以上6種預設的篩選器外還提供開發者自定義篩選器,元件會提供自定義篩選器的容器,開發者不用另外定位篩選器位置,元件將會自動定位,只需要按照規定的資料格式來傳輸資料即可,目前版本為最小可用版本暫不支援配置ElementUI框架元件本身的大部分屬性,事件以及方法,所以大部分樣式是該元件寫死的,後續版本將會推出對原框架屬性以及事件和方法的配置需求
配置項參考下面的表格
dg-table編寫的Demo
demo也已經上傳在gitee上
demo的gitee地址
開發者可以通過npm安裝
npm i dg-table
當前版本暫時沒有從ElementUi中剝離使用到的元件所以使用者要先npm i element-ui 包 才能正常使用dg-table
部分截圖(表格內容由js隨機生成的模擬資料)
用法說明
<dg-table></dg-table>
程式碼部分移步到這裡
(其中型別顯示.isVue 則為vue物件型別)
表格屬性
引數 | 說明 | 型別 | 可選值 | 預設值 |
---|---|---|---|---|
data | 要顯示的資料 | array | - | - |
selection | 是否顯示多選框 | boolean | - | false |
pagination | 是否顯示翻頁欄 | boolean | - | true |
page-config | 翻頁的配置資料, 僅在pagination為true有效 格式為{pagenum: 1, curpage: 1} pagenum為總頁數,curpage為當前頁數 |
object | - | {pagenum: 1, curpage: 1} |
row-click | 行單擊事件所繫結的函式 | function | - | () => {} |
action-config | 操作列(設定為最後一列) 具體請檢視action-config物件表格 |
object | - | - |
column-config | 除了操作列其他資料列配置, 具體請檢視column-config表格 |
array | - | - |
action-config說明
引數 | 說明 | 型別 | 可選值 | 預設值 |
---|---|---|---|---|
type | 有三種型別 預設提供的有單個按鈕(值為'button') 文字操作(值為'textbtn') 自定義操作物件(值為'customize') |
string | button/textbtn/customize | - |
label | 要操作物件上顯示的文字 僅在非自定義操作物件時候可用 | string | - | - |
handler | 操作物件繫結的函式 僅在非自定義操作物件時候可用 | handler | - | - |
width | 操作列的框度 | string | - | - |
component | 自定義操作物件元件,僅在type為customize時可用 在元件中props接收 row 當前行的資料 |
._isVue | - | - |
handlers | 自定義元件中所用到的函式, 以key:value的形式傳到自定義操作元件內部通過key引用函式 |
object | - | - |
column-config說明
引數 | 說明 | 型別 | 可選值 | 預設值 |
---|---|---|---|---|
prop | 對應列內容的欄位名,可以採用鏈式欄位(比如:user.school.name) 篩選器結合prop來標識所以prop不應該存在相同的 |
string | - | - |
label | 顯示的標題 | string | - | - |
width | 列的框度 | string | - | - |
extra | 額外的資料可以是任何型別 | object | - | - |
component | 自定義元件來處理列資料, 預設會向元件中傳入row該列資料和extra屬性 在元件中通過props接收 |
.isVue | - | - |
processdata | 提供資料處理的方式而非元件 預設提供 日期處理(值為'time', 處理後的格式為 YY-MM-DD) 時間處理(值為'time2', 處理後的格式為 YY-MM-DD HH:MM:SS) 還有預設的文字處理 如果prop對應的資料為空則返回 - 最後我們還提供自定義資料處理方式, 傳入一個函式 引數為row,和 prop 通過自己的處理函式後return結果 |
string/function | 'time'/'time2'/function | - |
filterConfig | 對於的篩選器的配置,如果沒有則表頭不提供篩選,配置內容如下表 | object | - | - |
filterConfig說明
引數 | 說明 | 型別 | 可選值 | 預設值 |
---|---|---|---|---|
type | 篩選器的型別 | string | cascader date edit radio range search 自定義型別的選擇器 值除了以上六種 |
- |
key | 篩選後返回的資料物件中對應該值的key | string | - | - |
ftn | 已經篩選的條件中專案名稱(在tag開頭顯示的專案名稱) | string | - | - |
placeholder | 文字框預設展示的文案,對帶有文字框型別的篩選器比較有用,預設選擇器中edit和search可用 自定義篩選器也可以通過props引用 |
string | - | 請輸入內容 |
listinfo | 在帶有列表的篩選器中,可以設定資料來源函式(下個版本中優化) 預設選擇器中search和radio用到該屬性,當然開發者自定義的篩選器中可以自定義資料結構,說明如下表 |
object | - | - |
items | 列表資料來源 在元件中對於的props為data | array | - | - |
props | 預設篩選器中針對 cascader 的配置, 用法和Elementui cascader的props屬性一樣, 自定義使用者可以自行構造資料 |
object | - | {value: 'value',label: 'label',children: 'children'} |
unit | 針對預設選擇器中range,單位的配置 | string | - | unit |
component | 僅針對type為customize,使用者自定義篩選器元件 | ._isVue | - | - |
hidebg | 自定義篩選器元件的容器的背景設定,預設顯示有陰影的背景 | boolean | true/false | false |
customizedata | 自定義篩選器需要的資料內容沒限制元件中通過props同名引用 | object | - | - |
針對search中filterConfig的listinfo說明(用法可參考demo)
引數 | 說明 | 型別 | 可選值 | 預設值 |
---|---|---|---|---|
handler | 用於提供能獲取到搜尋到的資料列表的函式 返回值為一個promise的resolve物件 |
function | - | - |
searchkey | 使用者傳給獲取資料列表的api引數中物件的key 例如{name: '陳某某'}中的name |
string | - | - |
showkey | 用於在列表中要顯示的欄位名 | string | - | - |
表格事件
事件名 | 說明 | 引數 |
---|---|---|
filter-change | 篩選條件改變時觸發 | filters |
select-change | 多選場景下勾選條件改變觸發 | selecs |
page-change | 點選翻頁頁碼改變觸發 | page |
相關文章
- ElementUI的Table表格新增自定義頭CheckBox多選框UI
- w10篩選器在哪_win10怎麼開啟篩選器Win10
- Flutter實現自定義篩選框Flutter
- 機器學習之 基於xgboost的特徵篩選機器學習特徵
- Android開商品屬性篩選與商品篩選Android
- 提升效率的篩選器元件 vue-filter-box元件VueFilter
- Flutter 自定義功能強大的下拉篩選選單 packageFlutterPackage
- C# 基於索引的篩選C#索引
- 【Vue】el-table 簡易表格可篩選列Vue
- 基於vue和elementUI封裝框選表格元件VueUI封裝元件
- excel如何篩選出自己想要的部分 excel表格如何篩選特定內容Excel
- ElementUI 中 table 表格自定義表頭 Tooltip 文字提示UI
- w10篩選器怎麼關閉_windows10篩選器在哪裡關閉Windows
- 易優CMS模板標籤screening文件篩選指定自定義欄位讀取篩選條件
- 基於Vue,ElementUI開發的一款表單設計器VueUI
- excel高階篩選怎麼做 表格的高階篩選怎麼設定條件Excel
- elementUI 2.0.11自定義表頭UI
- elementUI table 自定義表頭UI
- 檢視結果樹之篩選器
- JS中的陣列過濾,從簡單篩選到多條件篩選JS陣列
- HarmonyOS NEXT應用開發案例—自定義日曆選擇器
- TreeSelect 篩選後的全選是否支援僅全選篩選出來的列表
- 基於JQuery的自定義樹形選單表格,實現展開、收起效果jQuery
- Extjs Grid 清除列頭篩選條件JS
- 動態篩選
- jQuery 篩選方法jQuery
- 外包篩選心得
- excel怎麼篩選?教你一個簡單粗暴的篩選技巧Excel
- excel批量篩選重複人名 excel怎麼篩選相同的名字Excel
- excel批次篩選重複人名 excel怎麼篩選相同的名字Excel
- Flutter - 仿Airbnb的價格區間篩選器。(一)FlutterAI
- 基於CefSharp開發(五)瀏覽器選單樣式瀏覽器
- 基於CefSharp開發(七)瀏覽器收藏夾選單瀏覽器
- 常用的php列表多條件篩選功能PHP
- 訊息篩選器/螢幕無操作鎖屏
- EFCore 使用FluntApi配置 全域性查詢篩選器API
- Magicodes.IE之匯入匯出篩選器
- ztree 篩選選中節點