From 2769fd32540b3c000eb9a1aa9ef3922e1afb2bb8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=B4=A4=E5=BF=83?=
<3277200+sentsim@users.noreply.github.com>
Date: Tue, 18 Jun 2024 11:48:41 +0800
Subject: [PATCH] =?UTF-8?q?refactor(table):=20=E9=87=8D=E6=9E=84=20default?=
=?UTF-8?q?Toolbar=20=E9=80=89=E9=A1=B9=20(#2019)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* test(table): 新增自定义导出示例
* refactor(table): 重构 `defaultToolbar` 选项,增加 `name,onClick` 成员
* refactor: update
* Update docs/table/detail/options.md
---
docs/table/detail/options.md | 92 ++++++++++--
docs/table/examples/demo.md | 14 +-
examples/table-test.html | 49 ++++++-
src/modules/table.js | 277 ++++++++++++++++++++---------------
4 files changed, 288 insertions(+), 144 deletions(-)
diff --git a/docs/table/detail/options.md b/docs/table/detail/options.md
index 8cb3bd5c..e8bc722c 100644
--- a/docs/table/detail/options.md
+++ b/docs/table/detail/options.md
@@ -92,14 +92,89 @@
-defaultToolbar |
-设置头部工具栏右侧图标。值是一个数组,可选成员有: `filter,exports,print` (分别代表:筛选图标、导出图标、打印图标)。图标可根据数组值的顺序排列,如:`defaultToolbar: ['filter','print','exports']` 支持自定义图标及事件,用法详见示例: [#综合演示](#examples)
+[defaultToolbar](#options.defaultToolbar)
+
+ |
+
+
+
+ 设置头部工具栏右上角工具图标,值为一个数组,图标将根据数组值的顺序排列。
+
+
+**默认内置工具**:
+
+```js
+defaultToolbar: [
+ 'filter', // 列筛选
+ 'exports', // 导出
+ 'print' // 打印
+]
+```
+
+**重写内置工具** 2.9.12+,以自定义导出为例:
+
+
+
+
+```js
+defaultToolbar: [
+ 'filter',
+ {
+ name: 'exports',
+ onClick: function(obj) {
+ // 获得数据并清除临时字段
+ var data = table.clearCacheKey(obj.data);
+ // 当前示例配置项
+ var options = obj.config;
+
+ // 弹出面板
+ obj.openPanel({
+ list: [ // 列表
+ ' 导出 CSV 文件',
+ '导出 XLSX 文件'
+ ].join(''),
+ done: function(panel, list) { // 操作列表
+ list.on('click', function() {
+ var type = $(this).data('type')
+ if (type === 'csv') {
+ // 调用内置导出方法
+ table.exportFile(options.id, null, type);
+ } else if(type === 'xlsx') {
+ // 自助处理导出 - 如借助 sheetjs 库或服务端导出
+ // …
+ }
+ });
+ }
+ });
+ }
+ },
+ 'print'
+]
+```
+
+
+
+**扩展工具图标**:
+
+```js
+defaultToolbar: [
+ 'filter', 'exports', 'print', // 内置工具
+ {
+ // 扩展工具
+ title: '提示', // 标题
+ name: 'tips', // name
+ layEvent: 'LAYTABLE_TIPS', // 事件标识
+ icon: 'layui-icon-tips', // 图标 className
+ onClick: function(obj) { // 点击事件 - 2.9.12+
+ console.log(obj); // 查看返回的对象成员
+ }
+ }
+]
+```
|
-array |
-- |
width |
@@ -113,7 +188,7 @@
[height](#options.height)
-
+ |
设置表格容器高度,默认自适应。其他可选值的规则如下:
@@ -127,16 +202,15 @@
当需要动态改变表格高度时建议使用,如下以等效 `full-xx` 的写法为例:
-```
+```js
height: function(){
- var otherHeight = $('#search-content').outerHeight(); // 自定义其他区域的高度
+ // 自定义其他区域的高度
+ var otherHeight = $('#search-content').outerHeight();
return $(window).height() - otherHeight; // 返回 number 类型
}
```
|
-number string |
-- |