el-table的那些特殊用法

聊聊目前比較流行的Vue前端的架構。目前因爲Vue良好編碼規範,學習上手週期短等優勢。被我們很多大前端組所追捧,其中有的項目採用Element組件庫佔比達90%。主要用到el-input,el-select,el-datePicker,el-form,el-table,el-pagination等等組件。這裏來聊聊el-table的那些特殊用法。

1.el-table filters 篩選問題

el-table 常用表格,配合filters 可以對錶格數據篩選。但是日常開發你覺得這樣就能滿足產品大大的需求嗎,too young。有時候分野篩選是對數據庫所有數據篩選,不是篩選表格當前頁。就涉及到選擇篩選項,時時請求接口刷新表格頁。所以這裏利用filter-change方法,對多個下拉選擇項進行區分,篩選不通數據。

2.el-table selection toggleRowSelection選中問題

el-table 的selection選擇模式,selection-change很常用的選中回調。那如果有選中狀態初始化呢?toggleRowSelection利用$refs引用組件實例選中改行,比document.getElementById方法,會減少獲取dom節點的消耗。但是這依然不足矣適用。有人說在create()鉤子函數進行DOM操作無異於徒勞,DOM還沒有渲染,那麼在mounted()鉤子函數中,進行DOM操作都不會有問題。但是這裏就有問題。選中狀態接口mounted中執行後,並沒有勾選狀態。因爲Vue的異步DOM更新會開啓隊列,緩存同一事件循環中所發生的數據變更。所以用到$nextTick監聽DOM更新同步刷新狀態。注:ref用來給元素或者自組件組冊引用信息,註冊時機是渲染結束創建,並且$ref非響應式。所以不要在模版和計算屬性中使用

3.el-table el-table-column 多行,多列,列爲多級表頭

el-table的動態行el-table-column固定列是我們常用方式。那如果是動態行加動態列的多級表頭如何做。動態行動態列一級表頭一個list行包含list列數據v-for解決,但是動態行動態多級表頭列v-for過程中list行裏面的list列的屬性就不可讀。無外乎裏面列的list的v-for循環不可讀,所以採取抽取裏面列的估計列title做v-for循環,成功實現行多級表頭動態列報表。

大家有其他的騷操作也可以一起交流下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章