2020-01-31 17:12:19 +08:00
2020-01-31 17:12:19 +08:00
2020-01-13 17:17:32 +08:00
2020-01-31 17:12:19 +08:00
2020-01-31 17:12:19 +08:00
2020-01-29 14:06:51 +08:00
2020-01-13 16:10:42 +08:00
2020-01-13 16:25:20 +08:00
2020-01-13 17:17:32 +08:00
2020-01-31 17:12:19 +08:00

Smart Table 组件

专处理纯静态table固定头列及排序功能

此组件库常用于服务端处理数据后直接返回HTML渲染在客户端需要表格的多样化功能。

-- 初衷 --

方便在服务端直接返回已经渲染好的table数据后增加table的组件功能如头固定、左右列固定、排序功能 此项目不依赖任何其他库

-- 设计 --

组件内核借鉴虚拟Dom实现元素排序移动借鉴React的Diff算法实现保证元素的可重复使用。增加debounce及throttle保证体验。

-- 优势 --

  • 支持多元化头部
  • 轻量,使用方便
  • 性能高

体验

可直接访问https://peng92055.github.io/smart-table

Usage

  • 加载UI库
    Download the minified library smartTable.min.js, and include it in your webpage.
  /* smartTable library */
  <script type="text/javascript" src="js/smartTable.min.js"></script>
  • 输出静态HTML 表格基础属性需在服务端返回前指定
  <div id="smartTable">
      <table stripe>
        <thead>
          <tr>
            <th fixed sort>Id</th>
            <th colspan="1" rowspan="2" width="200">日期</th>
            ...
            <th fixed>价格</th>  <!-- 右边固定列 -->
        <tbody>
          <tr>
            <td>DD001</td>
            <td>2020-01-31</td>
            ...
            <td>889.00</td>
          <tr unsort>
            <td colspan="2">合计</td>
            ...
            <td>18988.00</td>
  • 初始化表格
    new SmartTable({
      selector: '#smartTable',
      tableHeight: 300,
      textAlign: 'left',
      size: 'middle'
    })

Table Attributes

Property Tag Position Description
stripe table 表格是否需要斑马间隔色
fixed thead -> tr -> th 是否固定该列
sort thead -> tr -> th 是否对该列有排序功能默认按照string排序可指定为sort="number"
unsort tbody -> tr 可指定body中的某一行不参与排序

Table Options

Property Type Required Description Default
selector string yes 需要初始化的表格元素
tableHeight number or function no 可指定表格的高度
textAlign string no 表格文本的水平排列方式(left、center、right) center
size string no 每一行的垂直高度风格(large、middle、small) small

本地开发

启动项目

npm run serve

build 流程

npm run build
Description
No description provided
Readme 335 KiB
Languages
JavaScript 83.3%
SCSS 16.2%
Shell 0.5%