* 戳上方藍字「 開源先鋒 」關註我
推薦閱讀:
大家好,我是開源君!
在 Web 開發中,數據表格是一種常用的 UI 元素,用於展示和編輯結構化數據。傳統的數據表格元件通常功能單一,互動性差,難以滿足現代 Web 套用的需求。為了解決這些問題,Handsontable 應運而生。
在日常開發中,我們經常需要處理表格數據,比如展示、編輯、分析等等。傳統的 HTML 表格雖然能夠滿足基本需求,但操作起來比較繁瑣,而且缺乏一些高級功能,例如數據繫結、數據驗證、篩選、排序等。
今天開源君分享一個功能強大的 JavaScript 數據網格元件計畫 -
Handsontable
。
計畫簡介
Handsontable
是一個開源的 JavaScript 數據表格元件,它擁有強大的功能和豐富的 API,用於操作表格數據、設定表格外觀、響應使用者互動等,可以幫助我們輕松構建功能完善的數據表格套用。
核心功能如下:
數據繫結:可以與各種資料來源進行繫結,包括 JavaScript 陣列、JSON 物件和資料庫表。
數據驗證:提供了多種數據驗證規則,可以確保輸入數據的準確性。
過濾和排序:支持對數據進行過濾和排序,方便使用者快速尋找所需資訊。
CRUD 操作:支持對數據進行建立、讀取、更新和刪除操作。
自訂單元格:支持自訂單元格的渲染和編輯方式,滿足個人化需求。
Handsontable
擁有類似於 Excel 的使用者介面和操作體驗,可以輕松地處理各種表格數據。
另外,Handsontable 可以與各種 JavaScript 框架配合使用,包括 React、Angular 和 Vue,同時提供了 TypeScript 支持,可以幫助開發人員編寫更加健壯的程式碼。
Handsontable 廣泛套用於各種 Web 套用,包括:
數據分析:展示和分析大型數據集。
報表生成:用於生成各種格式的報表。
CRM 系統:用於管理客戶資訊。
計畫管理:用於管理計畫任務和進度。...
目前在Github上面收獲了19K star,全球很多大公司也都在使用這個計畫。
計畫特性
強大的數據處理能力:支持各種數據型別,包括數位、字串、日期、時間、布爾值等,並提供豐富的 data manipulation API。
豐富的互動功能:支持單元格編輯、篩選、排序、拖拽、復制貼上等操作,並提供各種自訂事件和回呼函式。
靈活的客製性:支持自訂列頭、行號、單元格格式、選單等,並提供大量的外掛程式擴充套件功能。
高效能:采用高效的渲染引擎和數據管理演算法,可以流暢地處理大量數據。
跨瀏覽器相容:支持所有主流瀏覽器,包括 Chrome、Firefox、Safari、Edge 和 IE。
基本安裝使用
1、安裝
使用包管理工具進行安裝,npm, Yarn 或 NuGet都可以。
npm install handsontable
yarn add handsontable
PM> Install-Package Handsontable
使用CDN
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/handsontable/dist/handsontable.full.min.js"></script>
<link rel=" stylesheet" href="https://cdn.jsdelivr.net/npm/handsontable/dist/handsontable.full.min.css" />
2、建立容器
<div id="example"></div>
3、初始化例項
const container = document.querySelector('#example');
const hot = new Handsontable(container, {
data: [
['', 'Tesla', 'Volvo', 'Toyota', 'Ford'],
['2019', 10, 11, 12, 13],
['2020', 20, 11, 14, 13],
['2021', 30, 15, 12, 13]
],
rowHeaders: true,
colHeaders: true,
licenseKey: 'non-commercial-and-evaluation' // for non-commercial use only
});
表格預覽
計畫展示體驗
官方展示的demo樣式,以及javascript、react、vue等的原始碼。
數據篩選
數據排序
單元格編輯
Handsontable 是一款功能強大、易於使用且效能優異的開源數據表格元件,可以幫助開發者輕松地構建各種數據展示和編輯套用。如果你也需要在計畫中處理表格數據,推薦試試 Handsontable這個計畫。
更多計畫功能細節,感興趣的可以到計畫地址進行檢視:
計畫地址:
https://github.com/handsontable/handsontable