Python網頁應用開發神器fac 0.2.10版本新功能介紹

2023-10-23 21:02:31

fac專案地址:https://github.com/CNFeffery/feffery-antd-components

歡迎star支援⭐

  大家好我是費老師,由我開源維護的Python網頁通用元件庫fac前不久更新至0.2.10新版本,使用下列命令可快速完成更新:

pip install feffery-antd-components -U -i https://mirrors.aliyun.com/pypi/simple/

  0.2.10雖然只是個小版本,但足足經過一個夏天的陸續積累更新,積攢了非常豐富的新功能新特性,下面我就來為大家介紹其中的主要更新內容:

1 fac 0.2.10版本新功能介紹

1.1 新元件:AntdCenter

  新增居中元件AntdCenter,用於快捷實現內部元素在水平、豎直方向上的居中展示:

1.2 新機制:靜態資源懶載入

  隨著fac功能的日漸豐富,隨之而來的是其靜態資源的增長,即使在dash.Dash()中開啟了compress=True進行壓縮,也有大幾百kb。

  而從0.2.10開始,通過重構fac底層邏輯,實現了AntdTable、上傳類元件、資料錄入類元件、資料展示類元件的懶載入。使用者初始存取我們的dash應用時將只會請求體積較小的基礎靜態資源,當頁面中實際進行對應懶載入元件的渲染時,才會即時的請求相應資源,大幅度降低了通過網際網路所部署dash應用的頻寬壓力。

1.3 新特性:批次屬性監聽

  新版本中針對部分元件新增批次屬性監聽功能,使得我們可以在回撥編排中通過batchPropsValues這一個屬性,對batchPropsNames所定義的多個屬性值的打包監聽,從而幫助我們提升回撥函數編排效率,以AntdTree為例,同時打包監聽了多個屬性值變化情況:

1.4 元件簡化匯入

  新版本中引入了可選的元件別名匯入方式,你可以根據自己的喜好,使用import feffery_antd_components.alias as fac代替常規的import feffery_antd_components as fac,從而實現對fac中各元件名Antd字首的省略,譬如:

1.5 更多表單輸入類元件新增唯讀模式

  為了滿足更多的靜態表單展示需求,本次更新中為AntdCheckboxAntdCheckboxGroupAntdRadioGroupAntdSliderAntdSwitchAntdTransferAntdCheckCardGroupAntdCheckCard等元件新增引數readOnly用於設定唯讀模式,以選擇卡片組合為例:

1.6 新增第三方外部圖示庫支援

  針對fac中諸多可通過引數icon設定圖示代號從而直接使用AntdIcon中內建圖示的元件,新增了輔助引數iconRenderer,預設為'AntdIcon',當設定為'fontawesome'時,會將icon引數的輸入值作為css類名進行圖示渲染,典型如fontawesome(注意在專案assets目錄下放置好相關靜態資源):

1.7 AntdMenu支援自定義元件型選單項

  配合引數menuItemKeyToTitle,你可以使用任意的自定義元素內容充當選單項標題:

1.8 AntdTree重要新功能

  新版本中針對樹元件新增了多項重要新功能,具體有:

1.8.1 支援快捷樹搜尋

  僅需要為AntdTree設定有效引數searchKeyword,即可快捷實現樹搜尋功能,還可通過引數highlightStyle來自定義搜尋高亮部分樣式:

1.8.2 同級拖拽約束

  針對AntdTree的可拖拽功能,如果你希望僅同級節點之間可拖拽,那麼直接設定引數dragInSameLevel=True即可~

1.8.3 節點狀態樣式及字尾內容

  通過引數nodeCheckedStylenodeUncheckedStyle,可以分別自定義節點不同勾選狀態下的樣式:

  通過引數nodeCheckedSuffixnodeUncheckedSuffix,則可以分別自定義節點不同勾選狀態下的字尾額外元素:

1.8.4 新增節點可收藏功能

  在很多常見應用中,針對樹形結構控制元件,可以單獨收藏各個樹節點,現在在AntdTree中可以輕鬆實現此類功能:

1.8.5 節點捲動動作

  新版本中,可通過更新引數scrollTarget,實現向對應節點的捲動動作:

1.9 分頁元件支援快捷右鍵選單

  AntdTabs針對各分頁的標題新增快捷右鍵選單功能,可以用來監聽支撐很多針對分頁的快捷操作:

1.10 AntdTable重要新功能

  作為fac中的重型元件,AntdTable在本次更新中也引入了多項新功能,其中主要的有:

1.10.1 支援任意層級表頭合併

  現在你可以利用AntdTable輕鬆構建具有任意層級表頭合併的資料表格:

1.10.2 欄位篩選新增樹形篩選選單支援

1.10.3 欄位可編輯功能新增變動欄位監聽

  現在可以同時監聽到具體是哪一列的單元格發生了編輯:

1.11 時間、日期選擇相關元件新增自定義頁尾功能

  新版本中,可以針對AntdDatePicker等日期選擇、時間選擇相關元件,通過引數extraFooter設定自定義頁尾內容,以便配合回撥函數實現更多快捷功能:

1.12 選擇卡片組合可限制必須有選值

  在設定引數allowNoValue=True後,AntdCheckCardGroup可限制不允許使用者清空選值:

1.13 水印元件支援多行水印、圖片水印

  新版本中,針對水印元件AntdWatermark,新增對多行水印及圖片型水印的支援:

  篇幅有限,以上只介紹了0.2.10版本中的部分新功能,完整的更新內容介紹請移步官網瞭解更多:https://fac.feffery.tech/change-log-v0.2.10


  以上就是本文的全部內容,對Dash應用開發感興趣的朋友,歡迎新增微訊號CNFeffery,備註「dash學習」加入我的技術交流群,一起成長一起進步。