轉帖|產品更新|編輯:莫成敏|2019-12-27 11:10:51.130|閱讀 543 次
概述:本次發布,WijmoJS 將支持 Angular 9 和 Ivy 編譯器!與此同時,WijmoJS 還提供了用于 React 和 Vue 框架的 FlexGrid 單元格模板,以及針對 Vue 組件的雙向綁定模式,不但簡化了表單填報的步驟,還增強了 FlexGrid 的實用性性能。最后,針對 TypeScript 類型,WijmoJS 同樣進行了優化,使其在 VSCode 中更易于使用。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
WijmoJS是為企業應用程序開發而推出的一系列包含HTML5和JavaScript的開發控件。其中包含了金融圖表、FlexSheet、先進的JavaScript控件(Wijmo 5)和經典的jQuery小部件(Wijmo 3)。無論您的應用程序是移動應用還是必須要支持IE6,Wijmo Enterprise均能滿足您的需求。
本次發布,WijmoJS 將支持 Angular 9 和 Ivy 編譯器!與此同時,WijmoJS 還提供了用于 React 和 Vue 框架的 FlexGrid 單元格模板,以及針對 Vue 組件的雙向綁定模式,不但簡化了表單填報的步驟,還增強了 FlexGrid 的實用性性能。最后,針對 TypeScript 類型,WijmoJS 同樣進行了優化,使其在 VSCode 中更易于使用。
前端開發工具包 WijmoJS V2019.0 Update3 的主要新特性有:
與時俱進!WijmoJS 將支持 Angular 9 和 Ivy 編譯器
針對 Vue 框架:加入 FlexGrid 單元格模板、Vue 組件的雙向綁定機制
針對 React 框架:加入 FlexGrid 單元格模板
表格組件(FlexGrid):多列排序、凍結列、全文搜索、轉置表格、保存 CSV 等
多行網絡(MultiRow):支持聚合組、列標題布局功能
圖表組件(Chart):加入階梯圖
CollectionView :過濾器增強
更新詳細內容:
與時俱進!WijmoJS 將支持 Angular 9 和 Ivy 編譯器
每當 Angular 發布最新版本,WijmoJS 必定第一時間與之兼容!
本次發布,WijmoJS 將支持 Angular v9.0.0-rc.2 版本,并與最新的 Ivy Compiler 兼容。
開發者在使用 WijmoJS 的時候,完全不必考慮其在 Angular 框架下的兼容性問題,因為 Angular 技術團隊在模塊打包時,就已經為我們提供了一些建議,并幫助我們對編譯器進行了優化。
正是在 Angular 和 WijmoJS 技術團隊的共同努力下,開發者才可以更快的使用 Ivy Compiler 構建企業級 Web 應用程序。
一流的框架集成:WijmoJS 針對 Vue 的更新
FlexGrid 單元格模板
單元格模板是 FlexGrid 組件在 Angular 框架下最受歡迎的功能之一。現在,WijmoJS 分別針對 Vue 和 React 框架,提供了這個強大的功能。
單元格模板適用于在表格組件(Grid)的任何單元格中聲明標記、表達式和自定義內容。
<wj-flex-grid-column header="Country" binding="country" width="*"> <wj-flex-grid-cell-template cellType="Cell" v-if="customCell" v-slot="cell"> <img :src="'resources/' + cell.item.country + '.png'" /> </wj-flex-grid-cell-template> </wj-flex-grid-column>
針對 Vue 組件的雙向綁定
雙向綁定在 Vue 中是一種強大的機制,可用于簡化表單填報的實現步驟,Vue 提供了兩種用于聲明雙向綁定的語法:v-model 指令和 sync 綁定修飾符。
在 WijmoJS 的輸入組件中,已支持上述兩種雙向綁定語法,因此您可以根據項目需要在它們之間進行選擇。
一流的框架集成:WijmoJS 針對 React 的更新
就像在 Angular 和 Vue 中一樣,您同樣可以在 React 中使用 FlexGrid 的單元格模板,這些單元格模板允許您向 React 數據表中的任何單元格添加自定義內容。
單元格模板功能,使自定義 FlexGrid 中的任何單元格都變得非常容易。
仍以下面這些國家/地區列中呈現標志圖像的示例為例:
<wjGrid.FlexGridColumn header="Country" binding="country" width="*"> <wjGrid.FlexGridCellTemplate cellType="Cell" template=(context) => { return <React.Fragment> <img src={`resources/${context.item.country}.png`} /> {context.item.country} </React.Fragment> } /> </wjGrid.FlexGridColumn>
如您所見,“單元格模板”中的可定義內容,包含了標記、HTML 語法,甚至可以綁定其他組件。
面向原生 JavaScript 的 FlexGrid 單元格模板
除了Angular、React 和 Vue 框架,WijmoJS 針對純 JavaScript 的 FlexGrid 組件也同樣添加了新的單元格模板。如今,WijmoJS 的 Column 類具備了一個全新屬性—— cellTemplate,該屬性允許自定義渲染單元格,而無需借助 formatItem 事件。
Column.cellTemplates的使用,比在 Angular、React 或 Vue 中使用單元格模板還要簡單。僅需聲明模板字符串,就可以在其中放置 HTML 元素,甚至綁定表達式,而這些表達式將由 WijmoJS 的 glbz 方法解析并呈現在單元格中。
同樣是 “國家/地區”列中呈現標志圖像的示例代碼,相比于 Vue 和 React 框架,更加清爽、簡單:
<pre> columns:[{ header:'Country', binding:'country', width:'*', cellTemplate:'<img src="resources/${item.country}.png"/> ${text}' }] </pre>
針對表格組件(FlexGrid)的更新
FlexGrid 多列排序
FlexGrid 依賴于 CollectionView 類對數據進行排序。此前,WijmoJS 表格組件中的 allowSorting 屬性是一個布爾值,它用來確保用戶是否可以通過單擊單元格的標題來對列進行排序,該屬性的機制僅允許用戶同時對單個列進行排序。
在 WijmoJS 的新版本中,allowSorting 屬性被擴展為以下屬性的集合(不單單是布爾類型):
AllowSorting.None:用戶無法通過單擊列標題來對列進行排序,這與在先前版本中將 allowSorting 設置為 false 的表現相同。
AllowSorting.SingleColumn:用戶可以對單個列進行排序。單擊列標題可對該列進行排序或翻轉排序的方向(升序、降序)。 使用 Ctrl + Click 即可刪除排序,這與在先前版本中將 allowSorting 設置為 true 的表現相同。
AllowSorting.MultiColumn:用戶可以對多列進行排序。單擊列標題可對該列進行排序或翻轉排序的方向(升序、降序)。使用 Ctrl + Click 即可刪除該列的排序, Ctrl + Shift + Click ,即可刪除所有排序狀態。
在多列排序時,列標題旁邊的箭頭顯示了當前列的排序順序:
FlexGrid 凍結列
FlexGrid 支持通過代碼凍結行和列,但在此之前,從未公布過用于控制此功能的 UI。
在本次更新中,WijmoJS 添加了 allowPinning 屬性,該屬性可將圖釘(pin 字形)添加到列標題中,通過單擊圖釘可實現凍結或取消凍結列:
FlexGrid 全文搜索
FlexGrid 支持使用 FlexGridFilter 組件,實現基于列的類似 Excel 那樣的過濾方式。
在本次更新中,WijmoJS 添加了全新的 WijmoJS.grid.search 模塊,該模塊帶有一個 FlexGridSearch 控件,該控件提供了全文本搜索/過濾器界面。
當用戶在 FlexGridSearch 控件鍵入數據時,它將根據搜索文本過濾項目,自動突出顯示匹配項,已達到全文搜索的目的:
如上圖所示,FlexGridSearch 控件可以與 FlexGridFilter 組件一起使用。
轉置表格
在常規表格中,同一項目在一行內顯示,項目的屬性在同一列中顯示。
而在轉置表格中,每個項目變成由同一列來表示,行顯示的是項目屬性。
為了實現上述需求,WijmoJS 添加了一個帶有 TransposedGrid 控件的模塊 —— Wijmo.grid.transposed,其中數據項目顯示為列,其屬性顯示為行。
即便此前我們已經可以通過 FlexGrid 的 API 創建類似的轉置視圖,但通過 TransposedGrid 控件,將使這項工作變得更加容易。
保存 CSV 文件
FlexGrid 支持將表格中的數據保存為其他格式,如 CSV。
在本次更新中,WijmoJS 添加了兩個功能,使保存 CSV 文件變得更加輕松:
在 WijmoJS 中添加了 saveFile 方法,可以直接通過該方法保存 CSV 文件,而不必一遍又一遍地復制相同的代碼。
表格組件(Grid)的 getClipString 方法現在加入了一個 options 參數,該參數使您可以精確地指定生成剪輯字符串的方式。
通過上述更改,您可以使用兩行代碼保存 CSV 文件:
get clip string (current selection, with column headers) const clipString = grid.getClipString(null, options, true, false); // save to a file saveFile(clipString,'flexgrid.csv');
也可以通過 ClipStringOptions 屬性完成更多功能:
ClipStringOptions.Default:使用默認選項(制表符作為單元格分隔符,帶格式的/可見的/未引用的單元格),執行復制/粘貼到剪貼板時內部使用的格式。
ClipStringOptions.CSV:使用逗號作為單元格分隔符(CSV 格式),這也是導出 CSV 文件時的默認格式。
ClipStringOptions.QuoteAll:引用所有單元格,將所有單元格都用引號引起來,而不是僅對包含逗號和引號的單元格,這項改動將使輸出文件更易于解析。
ClipStringOptions.SkipMerged:跳過已合并的單元格(如 Excel 一般)。在某些情況下,這使得輸出文件更易于閱讀。
ClipStringOptions.Unformatted:導出未格式化的值。與僅保存格式化的值相反,此格式保留了數值的全部精度。
ClipStringOptions.InvisibleRows:在輸出中包括不可見和折疊的行(默認情況下,不包括不可見和折疊的行)。
ClipStringOptions.InvisibleColumns:在輸出中包括不可見的列(默認情況下,不包括不可見列)。
ClipStringOptions.InvisibleCells:在輸出中包括不可見的單元格。
更多 FlexGrid 增強功能
可折疊列組:以聲明的方式創建可折疊列組。通過將 columns 屬性(或 columnGroups 屬性)設置為包含列定義的數組來完成,其中定義包含子列的“columns”集合。
添加了靜態屬性—— defaultTypeWidth,該屬性允許根據自動生成的網格列的數據類型來指定默認寬度。
改進的剪貼板功能:添加了 copyHeaders 屬性,該屬性可讓指定在將數據復制到剪貼板時,是否應包含行標題或列標題。
RowDetail 凍結單元格:允許單元格明細跨越凍結邊界。
針對多行網絡(MultiRow)的增強
MultiRow 聚合組:添加了 multiRowGroupHeaders 屬性,該屬性允許標題具有多個標題行(適用于顯示聚合)。
MultiRow 列標題布局:添加了 headerLayoutDefinition 屬性,該屬性可讓您定義列標題的自定義布局。
圖表組件(Chart)加入階梯圖
StepLine Charts(階梯圖)常用來顯示特定時間點的變化,它們對于查看值隨時間變化的大小十分有用。
WijmoJS 在 FlexChart 圖表組件中添加了階梯圖、StepSymbols 和 StepArea 等圖表類型。
CollectionView 過濾器增強
WijmoJS 添加了包含過濾器功能數組的 filters 屬性,該屬性可以鏈接具有多個獨立過濾器功能的過濾器。
產品易用性提升
WijmoJS 的信息提示在本次更新中做了重大改進,這些改進將使 WijmoJS 更易于使用,并且幫助開發者更輕松地找到代碼中的錯誤。
您可以在回調函數(以前只是通用的 Any 類型)中看到這些提示:
WijmoJS 更多增強點:
將信息提示添加到了 “any”類型的多個回調函數和屬性中。
向事件類的發送方和參數添加了通用類型。
為 CollectionView 和 ObservableArray 類添加了通用類型,可通過以下代碼實例化 Customer 對象:var cv = new CollectionView(data); var customer = cv.currentItem; // customer是Customer的一個實例
提供了編譯時錯誤檢查和 IntelliSense,確保開發者可以更快地編寫更好的代碼。
想要購買WijmoJS 正版授權,或了解更多產品信息請點擊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: