天天看點

Layui 2.0.0 正式釋出:潛心之作,開箱即用的前端UI架構(确實很多内容)

Hi,久違了。處暑逼近之際,潛水半年的 layui 是時候出來透透氣了。我們帶來的是全新的 2.0 版本,一次被我們定義為“破繭重生”的傾情之作。如果你已曾用過 layui,你将真正感受到一次因小而大、因弱而強的成長。在前端MVVM野蠻生長的時代,layui 這樣一個近乎有些不随潮流的UI解決方案,依舊在守望它的執念。它所呈現的不僅僅是一項項信手拈來的元素,更多是關于UI設計理念的表達。不驕不躁,親和而富有生命力。返璞歸真,卻非逆道而行。

2.0 是 layui 的一次裡程碑式版本,它的意義并不隻是那幾項膚淺的更新,而是自此開始,layui 進入一段複活之旅。

更新日志

Table 表格

  •   新增的全新子產品,用于對表格進行一些列功能和動态資料操作
  •   支援固定表頭、固定行、固定列左/列右
  •   支援拖拽改變列寬度
  •   支援多級表頭
  •   支援大表格、小表格、預設表格的任意尺寸設定
  •   支援多種表格風格設定
  •   支援“Ajax接口擷取”、“直接指派資料”、“轉化現有表格”三種初始化渲染方式
  •   支援單元格的自定義模闆
  •   支援對表格重載(比如搜尋、條件篩選等)
  •   内置checkbox複選框功能
  •   内置自定義工具條及相關操作功能
  •   内置分頁功能
  •   内置字段排序功能
  •   内置單元格編輯功能
  •   内置顯示單元格更多内容功能

Carousel 輪播

  •   新增的全新子產品,用于處理頁面輪播邏輯
  •   支援圖檔、文字清單等任意内容的切換
  •   支援普通輪播和全屏輪播(FullPage)的設定
  •   支援多種切換動畫的設定
  •   支援是否自動切換、自動切換的時間間隔的設定
  •   支援初始開始的條目索引的設定
  •   支援箭頭和訓示器的風格和位置設定

Layout 布局

  •   新增栅格布局系統
  •   栅格采用12等分,内置移動裝置、平闆、桌面中等和大型螢幕的響應式處理
  •   栅格支援分欄間隔、列偏移、嵌套,流體布局等
  •   栅格最低能支援到ie8
  •   新增背景大架構布局現成方案

layDate 日期時間選擇器

  •   全面重寫,可作為獨立元件(版本直接躍升為 5.0)
  •   依舊采用原生JavaScript編寫,零依賴,可在layui中作為子產品使用,也可作為獨立元件使用
  •   支援單獨顯示年選擇器、年月選擇器、日期選擇器、時間選擇器、日期時間選擇器
  •   支援雙控件,用于選擇年/年月/日期/時間/日期時間五種類型選擇器的範圍(可順時、逆時)
  •   支援日期格式的自定義
  •   支援日期是否合法的自動校驗
  •   支援有效日期範圍的設定
  •   支援内置事件(可自定義)、外部事件、直接顯示等多種調用方式
  •   支援中文版和國際版的語言設定
  •   支援開啟公曆節日和标記重要日期
  •   支援直接嵌套在頁面的某個容器中
  •   支援底部按鈕的任意順序排版
  •   支援智能顯示在最佳可視坐标
  •   支援回車快捷鍵選擇
  •   支援多種内置主題的設定,支援自定義主題色,且可單獨定制主題

Upload 上傳

  •   全面重寫
  •   可指定任意元素(如按鈕、普通div等)來觸發上傳
  •   支援選擇後自動上傳和手工上傳兩種模式
  •   支援附加參數、支援自定義檔案name等
  •   支援多檔案上傳(ie8/9除外)
  •   支援拖拽檔案上傳(ie8/9除外)
  •   支援檔案大小限制,機關kb(ie8/9除外)
  •   支援圖檔上傳前預覽(ie8/9除外)
  •   支援檔案跨域上傳(ie8/9除外)

layPage 分頁

  •   核心代碼和接口重寫
  •   新增“資料總數”、“每頁條數”顯示區域
  •   支援自定義排版
  •   新增count參數,用于得到資料總數,并剔除了pages參數(分頁總數)
  •   新增limits參數,用于設定每頁條數的選擇項
  •   新增limit參數,用于設定每頁條數的預設項
  •   優化跳頁框在輸入非數字時的校驗
  •   總頁數低于2時,仍然輸出分頁結構(前面版本不會顯示)
  •   尾頁文本預設顯示為總頁數
  •   跳頁框如果輸入的頁碼大于最大頁數,則自動跳到最大頁
  •   樣式優化

Form 表單集合

  •   select元件增加自動上下判斷,用于顯示在最佳可視區域
  •   select元件允許出現“請選擇”的空值選項
  •   form.render(type, filter)方法增加第二個參數,用于指定某個區域進行局部渲染
  •   優化複選框樣式,以更友好地用于非form場景中
  •   form.on方法支援鍊式寫法

Layer 彈層

  •   同步到最新的 layer v3.1.0
  •   增加maxHeight參數,用于設定彈層的最大高度
  •   對預設按鈕顔色、Tips層、Prompt層、Tab層等進行了樣式微調,以便更顯大氣,且更符合layui風格

Element 頁面元素

  •   新增時間軸元素
  •   新增徽章元素
  •   新增動畫CSS類文檔
  •   導航UI細節優化,并新增三種主題色支援:墨綠/藏青/藍
  •   導航支援加入圖檔
  •   分割線新增可支援的顔色:赤/橙/墨綠/藏青/藍/黑/灰
  •   Tab頁籤UI微調
  •   element子產品輸出的接口由先前的函數改為對象

Util 工具集

  •   新增倒計時方法:util.countdown()
  •   新增用于得到“某個時間在目前時間的多久前”的方法:util.timeAgo()
  •   [固定塊] 新增 showHeight 參數,用于控制出現TOP按鈕的滾動條高度臨界值

底層方法

  •   新增 layui.sort(obj, key, desc) 方法,用于将數組中的對象按某個成員重新對該數組排序
  •   改寫layui.router()方法,以更好地解析location.hash的單頁URL規則

其它更改

  •   新增28個字型圖示
  •   剔除全局滾動條樣式
  •   擷取内置的jQuery接口,可通過 var $ = layui.$; 得到,之前的 layui.jquery仍然可用
  •   layui.css大量樣式結構優化

Bug Fix

  •   修複select元件在沒有任何option的情況下報錯的問題
  •   修複導航多個排列在一起時,hover出現異常的問題
  •   修複layui.device()方法在Chrome裝置模式無法識别ios環境的問題
  •   修複IE下,多次執行layui.use加載同一個子產品時,控制台出現多條重複請求的問題(實際上不是真實請求)

1.x 升 2.0 特别注意事項

  •   layDate日期子產品、layPage分頁子產品、Upload上傳子產品等等,均已完全重寫,請按照最新文檔修改
  •   擷取 Form 子產品接口,由之前的 var form = layui.form() 改為:var form = layui.form
  •   擷取 Element 子產品接口,由之前的 var element = layui.element() 改為:var element = layui.element
  •   layui.all.js 的目錄調整到跟 layui.js 的同級目錄,如有使用到 layui.all.js,請注意修改路徑
  •   由于改動較大,2.0其實并不相容1.x,強烈不推薦覆寫更新。官網仍會保留 1.x 的存檔,最好按需更新。

完整更新日志

快速上手

http://www.oschina.net/news/87927/layui-2-0-0-released