Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
xuliangzhan committed Jul 23, 2019
1 parent b8bea93 commit 623494e
Show file tree
Hide file tree
Showing 69 changed files with 615 additions and 614 deletions.
5 changes: 3 additions & 2 deletions README.md
Expand Up @@ -21,8 +21,8 @@ A fully functional Vue Table, to meet most of the Table all requirements, and pe
* 强大的功能的同时兼具性能(支持横向、纵向虚拟滚动)

* Plan 计划
* [x] v1 95% 实现表格的一切实用的功能
* [x] v2 85% 性能优化,同时兼具功能与性能
* [x] v1 100% 实现表格的一切实用的功能
* [x] v2  90% 性能优化,同时兼具功能与性能
* [ ] v3   0% 实现重构,渲染性能大幅提升,基于 Vue3 并使用 typescript 开发

🐬 如果有更好的建议、优化点或 Bug 都欢迎提 [Issues](https://github.com/xuliangzhan/vxe-table/issues)
Expand Down Expand Up @@ -66,6 +66,7 @@ A fully functional Vue Table, to meet most of the Table all requirements, and pe
* [x] Expandable row (展开行)
* [x] Pager(分页)
* [x] Toolbar(工具栏)
* [x] Save the operational state of the column(保存列的操作状态)
* [x] Tree table (树形表格)
* [x] Editable CRUD(增删改查)
* [x] Editable validate(数据校验)
Expand Down
2 changes: 1 addition & 1 deletion docs/index.html
@@ -1 +1 @@
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=Cache-Control content="no-cache, no-store, must-revalidate"><meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1"><link rel=icon href=/vxe-table/favicon.ico><title>vxe-table 表格</title><link href=/vxe-table/static/css/api.0275e9e8.css rel=prefetch><link href=/vxe-table/static/css/base.a6628770.css rel=prefetch><link href=/vxe-table/static/css/edit.d43a7aa7.css rel=prefetch><link href=/vxe-table/static/css/grid.b620cd41.css rel=prefetch><link href=/vxe-table/static/css/optimize.a38f7a43.css rel=prefetch><link href=/vxe-table/static/css/other.e70bd07f.css rel=prefetch><link href=/vxe-table/static/css/table.de81d770.css rel=prefetch><link href=/vxe-table/static/js/api.8300e6d1.js rel=prefetch><link href=/vxe-table/static/js/base.44458b73.js rel=prefetch><link href=/vxe-table/static/js/base~edit~excel~grid~other~plugin~scroll~start~table~tree.1e06d962.js rel=prefetch><link href=/vxe-table/static/js/edit.57a9a345.js rel=prefetch><link href=/vxe-table/static/js/excel.855d5012.js rel=prefetch><link href=/vxe-table/static/js/excel~other.ea9cbdaa.js rel=prefetch><link href=/vxe-table/static/js/grid.816eb02e.js rel=prefetch><link href=/vxe-table/static/js/optimize.210a3128.js rel=prefetch><link href=/vxe-table/static/js/other.19080d3c.js rel=prefetch><link href=/vxe-table/static/js/plugin.e10aad18.js rel=prefetch><link href=/vxe-table/static/js/scroll.ba12d7a9.js rel=prefetch><link href=/vxe-table/static/js/start.49f54533.js rel=prefetch><link href=/vxe-table/static/js/table.5fdc781a.js rel=prefetch><link href=/vxe-table/static/js/tree.07e38cd5.js rel=prefetch><link href=/vxe-table/static/css/chunk-vendors.c76a4c1c.css rel=preload as=style><link href=/vxe-table/static/css/index.82e9c758.css rel=preload as=style><link href=/vxe-table/static/js/chunk-vendors.ec7e5a20.js rel=preload as=script><link href=/vxe-table/static/js/index.bbb64f65.js rel=preload as=script><link href=/vxe-table/static/css/chunk-vendors.c76a4c1c.css rel=stylesheet><link href=/vxe-table/static/css/index.82e9c758.css rel=stylesheet></head><body><noscript><strong>We're sorry but vxe-table doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=/vxe-table/static/js/chunk-vendors.ec7e5a20.js></script><script src=/vxe-table/static/js/index.bbb64f65.js></script></body></html>
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=Cache-Control content="no-cache, no-store, must-revalidate"><meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1"><link rel=icon href=/vxe-table/favicon.ico><title>vxe-table 表格</title><link href=/vxe-table/static/css/api.0275e9e8.css rel=prefetch><link href=/vxe-table/static/css/base.a6628770.css rel=prefetch><link href=/vxe-table/static/css/edit.d43a7aa7.css rel=prefetch><link href=/vxe-table/static/css/grid.b620cd41.css rel=prefetch><link href=/vxe-table/static/css/optimize.a38f7a43.css rel=prefetch><link href=/vxe-table/static/css/other.e70bd07f.css rel=prefetch><link href=/vxe-table/static/css/table.de81d770.css rel=prefetch><link href=/vxe-table/static/js/api.4460f61d.js rel=prefetch><link href=/vxe-table/static/js/base.4715229a.js rel=prefetch><link href=/vxe-table/static/js/base~edit~excel~grid~other~plugin~scroll~start~table~tree.1e06d962.js rel=prefetch><link href=/vxe-table/static/js/edit.278d80cd.js rel=prefetch><link href=/vxe-table/static/js/excel.855d5012.js rel=prefetch><link href=/vxe-table/static/js/excel~other.ea9cbdaa.js rel=prefetch><link href=/vxe-table/static/js/grid.b0fef3c8.js rel=prefetch><link href=/vxe-table/static/js/optimize.210a3128.js rel=prefetch><link href=/vxe-table/static/js/other.c170733a.js rel=prefetch><link href=/vxe-table/static/js/plugin.e10aad18.js rel=prefetch><link href=/vxe-table/static/js/scroll.ba12d7a9.js rel=prefetch><link href=/vxe-table/static/js/start.49f54533.js rel=prefetch><link href=/vxe-table/static/js/table.c3f1a172.js rel=prefetch><link href=/vxe-table/static/js/tree.07e38cd5.js rel=prefetch><link href=/vxe-table/static/css/chunk-vendors.c76a4c1c.css rel=preload as=style><link href=/vxe-table/static/css/index.82e9c758.css rel=preload as=style><link href=/vxe-table/static/js/chunk-vendors.ec7e5a20.js rel=preload as=script><link href=/vxe-table/static/js/index.2ea64b5a.js rel=preload as=script><link href=/vxe-table/static/css/chunk-vendors.c76a4c1c.css rel=stylesheet><link href=/vxe-table/static/css/index.82e9c758.css rel=stylesheet></head><body><noscript><strong>We're sorry but vxe-table doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=/vxe-table/static/js/chunk-vendors.ec7e5a20.js></script><script src=/vxe-table/static/js/index.2ea64b5a.js></script></body></html>
1 change: 1 addition & 0 deletions docs/static/js/api.4460f61d.js

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion docs/static/js/api.8300e6d1.js

This file was deleted.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions docs/static/js/index.2ea64b5a.js

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion docs/static/js/index.bbb64f65.js

This file was deleted.

7 changes: 0 additions & 7 deletions docs/static/js/other.19080d3c.js

This file was deleted.

7 changes: 7 additions & 0 deletions docs/static/js/other.c170733a.js

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion docs/static/js/table.5fdc781a.js

This file was deleted.

1 change: 1 addition & 0 deletions docs/static/js/table.c3f1a172.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/v1/index.html
@@ -1 +1 @@
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=Cache-Control content="no-cache, no-store, must-revalidate"><meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1"><link rel=icon href=/vxe-table/v1/favicon.ico><title>vxe-table 表格</title><link href=/vxe-table/v1/static/css/api.0275e9e8.css rel=prefetch><link href=/vxe-table/v1/static/css/base.a6628770.css rel=prefetch><link href=/vxe-table/v1/static/css/edit.d43a7aa7.css rel=prefetch><link href=/vxe-table/v1/static/css/grid.b620cd41.css rel=prefetch><link href=/vxe-table/v1/static/css/optimize.a38f7a43.css rel=prefetch><link href=/vxe-table/v1/static/css/other.e70bd07f.css rel=prefetch><link href=/vxe-table/v1/static/css/table.de81d770.css rel=prefetch><link href=/vxe-table/v1/static/js/api.40ef2372.js rel=prefetch><link href=/vxe-table/v1/static/js/base.bd9814c6.js rel=prefetch><link href=/vxe-table/v1/static/js/base~edit~excel~grid~other~plugin~scroll~start~table~tree.1e06d962.js rel=prefetch><link href=/vxe-table/v1/static/js/edit.74bfcc47.js rel=prefetch><link href=/vxe-table/v1/static/js/excel.fdb99452.js rel=prefetch><link href=/vxe-table/v1/static/js/excel~other.ea9cbdaa.js rel=prefetch><link href=/vxe-table/v1/static/js/grid.3e05a011.js rel=prefetch><link href=/vxe-table/v1/static/js/optimize.9d51408b.js rel=prefetch><link href=/vxe-table/v1/static/js/other.7b2a9554.js rel=prefetch><link href=/vxe-table/v1/static/js/plugin.7df610b2.js rel=prefetch><link href=/vxe-table/v1/static/js/scroll.43eae1c7.js rel=prefetch><link href=/vxe-table/v1/static/js/start.a54156d2.js rel=prefetch><link href=/vxe-table/v1/static/js/table.80e729a2.js rel=prefetch><link href=/vxe-table/v1/static/js/tree.3baa12c4.js rel=prefetch><link href=/vxe-table/v1/static/css/chunk-vendors.107c4dc7.css rel=preload as=style><link href=/vxe-table/v1/static/css/index.e17f63bf.css rel=preload as=style><link href=/vxe-table/v1/static/js/chunk-vendors.df1d7675.js rel=preload as=script><link href=/vxe-table/v1/static/js/index.11e60618.js rel=preload as=script><link href=/vxe-table/v1/static/css/chunk-vendors.107c4dc7.css rel=stylesheet><link href=/vxe-table/v1/static/css/index.e17f63bf.css rel=stylesheet></head><body><noscript><strong>We're sorry but vxe-table doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=/vxe-table/v1/static/js/chunk-vendors.df1d7675.js></script><script src=/vxe-table/v1/static/js/index.11e60618.js></script></body></html>
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=Cache-Control content="no-cache, no-store, must-revalidate"><meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1"><link rel=icon href=/vxe-table/v1/favicon.ico><title>vxe-table 表格</title><link href=/vxe-table/v1/static/css/api.0275e9e8.css rel=prefetch><link href=/vxe-table/v1/static/css/base.a6628770.css rel=prefetch><link href=/vxe-table/v1/static/css/edit.d43a7aa7.css rel=prefetch><link href=/vxe-table/v1/static/css/grid.b620cd41.css rel=prefetch><link href=/vxe-table/v1/static/css/optimize.a38f7a43.css rel=prefetch><link href=/vxe-table/v1/static/css/other.e70bd07f.css rel=prefetch><link href=/vxe-table/v1/static/css/table.de81d770.css rel=prefetch><link href=/vxe-table/v1/static/js/api.89f2af86.js rel=prefetch><link href=/vxe-table/v1/static/js/base.fd0e21fa.js rel=prefetch><link href=/vxe-table/v1/static/js/base~edit~excel~grid~other~plugin~scroll~start~table~tree.1e06d962.js rel=prefetch><link href=/vxe-table/v1/static/js/edit.b938dbe5.js rel=prefetch><link href=/vxe-table/v1/static/js/excel.fdb99452.js rel=prefetch><link href=/vxe-table/v1/static/js/excel~other.ea9cbdaa.js rel=prefetch><link href=/vxe-table/v1/static/js/grid.b8fe7514.js rel=prefetch><link href=/vxe-table/v1/static/js/optimize.9d51408b.js rel=prefetch><link href=/vxe-table/v1/static/js/other.d3adfc50.js rel=prefetch><link href=/vxe-table/v1/static/js/plugin.7df610b2.js rel=prefetch><link href=/vxe-table/v1/static/js/scroll.43eae1c7.js rel=prefetch><link href=/vxe-table/v1/static/js/start.a54156d2.js rel=prefetch><link href=/vxe-table/v1/static/js/table.4bb3bba3.js rel=prefetch><link href=/vxe-table/v1/static/js/tree.7866a28a.js rel=prefetch><link href=/vxe-table/v1/static/css/chunk-vendors.107c4dc7.css rel=preload as=style><link href=/vxe-table/v1/static/css/index.e17f63bf.css rel=preload as=style><link href=/vxe-table/v1/static/js/chunk-vendors.df1d7675.js rel=preload as=script><link href=/vxe-table/v1/static/js/index.e4ed23ce.js rel=preload as=script><link href=/vxe-table/v1/static/css/chunk-vendors.107c4dc7.css rel=stylesheet><link href=/vxe-table/v1/static/css/index.e17f63bf.css rel=stylesheet></head><body><noscript><strong>We're sorry but vxe-table doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=/vxe-table/v1/static/js/chunk-vendors.df1d7675.js></script><script src=/vxe-table/v1/static/js/index.e4ed23ce.js></script></body></html>
1 change: 0 additions & 1 deletion docs/v1/static/js/api.40ef2372.js

This file was deleted.

1 change: 1 addition & 0 deletions docs/v1/static/js/api.89f2af86.js

Large diffs are not rendered by default.

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion docs/v1/static/js/edit.74bfcc47.js

This file was deleted.

1 change: 1 addition & 0 deletions docs/v1/static/js/edit.b938dbe5.js

Large diffs are not rendered by default.

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion docs/v1/static/js/index.11e60618.js

This file was deleted.

1 change: 1 addition & 0 deletions docs/v1/static/js/index.e4ed23ce.js

Large diffs are not rendered by default.

7 changes: 0 additions & 7 deletions docs/v1/static/js/other.7b2a9554.js

This file was deleted.

7 changes: 7 additions & 0 deletions docs/v1/static/js/other.d3adfc50.js

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

8 changes: 0 additions & 8 deletions examples/api/column.js
Expand Up @@ -234,14 +234,6 @@ const apis = [
defVal: 'false',
list: []
},
{
name: 'column-key',
descKey: 'app.api.tableColumn.desc.columnKey',
type: 'String, Number',
enum: '',
defVal: '',
list: []
},
{
name: 'edit-render',
descKey: 'app.api.tableColumn.desc.editRender',
Expand Down
20 changes: 14 additions & 6 deletions examples/api/table.js
Expand Up @@ -380,18 +380,26 @@ const apis = [
defVal: 'false',
list: []
},
{
name: 'column-key',
descKey: 'app.api.table.desc.columnKey',
type: 'Boolean',
enum: '',
defVal: 'false',
list: []
},
{
name: 'row-key',
descKey: 'app.api.table.desc.rowKey',
type: 'Number, String',
type: 'Boolean',
enum: '',
defVal: '',
defVal: 'false',
list: []
},
{
name: 'row-id',
descKey: 'app.api.table.desc.rowId',
type: 'Number, String',
type: 'String',
enum: '',
defVal: '_XID',
list: []
Expand All @@ -413,7 +421,7 @@ const apis = [
},
{
name: 'checkRowKey',
desc: '默认勾选开指定行(需要 row-id | row-key)',
desc: '默认勾选开指定行(需要 row-id)',
type: 'String',
enum: '',
defVal: '',
Expand Down Expand Up @@ -470,7 +478,7 @@ const apis = [
},
{
name: 'checkRowKeys',
desc: '默认勾选开指定行(需要 row-id | row-key)',
desc: '默认勾选开指定行(需要 row-id)',
type: 'Array<String>',
enum: '',
defVal: '',
Expand Down Expand Up @@ -544,7 +552,7 @@ const apis = [
},
{
name: 'expandRowKeys',
desc: '默认展开指定行(需要 row-id | row-key)',
desc: '默认展开指定行(需要 row-id)',
type: 'Array',
enum: '',
defVal: '',
Expand Down
8 changes: 4 additions & 4 deletions examples/i18n/lang/en.js
Expand Up @@ -207,13 +207,14 @@ module.exports = {
showHeaderAllOverflow: '在 v2.0 中废弃,请使用 show-header-overflow',
remoteSort: '所有列是否使用服务端排序,如果设置为 true 则所有列不会对数据进行处理',
remoteFilter: '是否使用服务端筛选,如果设置为 true 则不会对数据进行处理',
rowKey: 'Specifies the unique primary key field name of the row data, which differs from rowId in that the data sets the key property to the corresponding row VNode (not necessary in exceptional cases)',
rowId: 'Specify the unique primary key field name for the row data (which may need to be set when some advanced functionality is enabled)',
columnKey: 'Whether the key attribute needs to be set for each column VNode (not required for non-exceptional cases)',
rowKey: 'Do you need to set the key attribute for VNode on each row (not necessary for non-exceptional cases)',
rowId: 'Field names for custom row data unique primary keys (may be used when some advanced functionality is enabled)',
radioConfig: 'Radio configuration',
selectConfig: 'Checkbox configuration',
tooltipConfig: 'tooltip configuration',
expandConfig: 'Expand the row configuration',
treeConfig: 'Tree configuration(需要 row-id | row-key)',
treeConfig: 'Tree configuration(需要 row-id)',
contextMenu: 'context menu configuration',
mouseConfig: 'Mouse configuration',
keyboardConfig: 'Keyboard configuration',
Expand Down Expand Up @@ -274,7 +275,6 @@ module.exports = {
filterMethod: '只对 filters 有效,自定义筛选方法 Function({value, row, column})',
filterRender: 'Filter render configuration',
treeNode: '只对 tree-config 配置时有效,指定为树节点',
columnKey: 'Key for column rendering, corresponding to the key attribute of the virtual DOM in column rendering (not required for non-exceptional cases)',
editRender: 'Column render configuration',
params: '额外的参数(自定义一些数据参数,对于某些特殊的场景可能会用到)'
}
Expand Down
8 changes: 4 additions & 4 deletions examples/i18n/lang/zh-CN.js
Expand Up @@ -207,13 +207,14 @@ module.exports = {
showHeaderAllOverflow: '在 v2.0 中废弃,请使用 show-header-overflow',
remoteSort: '所有列是否使用服务端排序,如果设置为 true 则不会对数据进行处理',
remoteFilter: '是否使用服务端筛选,如果设置为 true 则不会对数据进行处理',
rowKey: '指定行数据的唯一主键字段名,和 rowId 的区别就是该数据会给对应的行 VNode 设置 key 属性(非特殊情况下没必要设置)',
rowId: '指定行数据的唯一主键字段名(对于启用某些高级功能时可能需要设置)',
columnKey: '是否需要为每一列的 VNode 设置 key 属性(非特殊情况下不需要使用)',
rowKey: '是否需要为每一行的 VNode 设置 key 属性(非特殊情况下没必要设置)',
rowId: '自定义行数据唯一主键的字段名(对于启用某些高级功能时可能会用到)',
radioConfig: '单选框配置项',
selectConfig: '复选框配置项',
tooltipConfig: 'tooltip 配置项',
expandConfig: '展开行配置项',
treeConfig: '树形结构配置项(需要 row-id | row-key)',
treeConfig: '树形结构配置项(需要 row-id)',
contextMenu: '快捷菜单配置项',
mouseConfig: '鼠标配置项',
keyboardConfig: '按键配置项',
Expand Down Expand Up @@ -274,7 +275,6 @@ module.exports = {
filterMethod: '只对 filters 有效,自定义筛选方法 Function({value, row, column})',
filterRender: '筛选渲染配置项',
treeNode: '只对 tree-config 配置时有效,指定为树节点',
columnKey: '列渲染的 key,对应列渲染中虚拟 DOM 的 key 属性(非特殊情况下不需要使用)',
editRender: '列渲染配置项',
params: '额外的参数(自定义一些数据参数,对于某些特殊的场景可能会用到)'
}
Expand Down
1 change: 1 addition & 0 deletions examples/main.js
Expand Up @@ -59,6 +59,7 @@ function mockData () {
list.push({
id: fullIndex,
name: 'test' + fullIndex,
nickname: (index % 4 === 0 ? '陈' : index % 3 === 0 ? '李' : '徐') + fullIndex,
role: index % 2 === 0 ? '前端' : '后端',
key: 'home.label.key' + Math.max(0, index % 2 === 0 ? index - 1 : index),
language: index % 2 === 0 ? 'zh_CN' : 'en_US',
Expand Down
1 change: 0 additions & 1 deletion examples/views/table/advanced/Page.vue
Expand Up @@ -3,7 +3,6 @@
<p>使用自带的分页 <pager-api-link name="vxe-pager"/></p>
<p>如果要支持动态序号,可以通过 <table-api-link prop="start-index"/> 属性设置起始值</p>
<p>如果要支持保留选中状态,可以通过设置 <table-api-link prop="select-config"/> 的 <table-api-link prop="reserve"/> 属性</p>
<p class="red">配置 reserve 属性时,必须设置 <table-api-link prop="row-id"/> 或者 <table-api-link prop="row-key"/></p>

<vxe-table
border
Expand Down
8 changes: 4 additions & 4 deletions examples/views/table/advanced/Search.vue
Expand Up @@ -55,7 +55,7 @@
row-id="id"
:data.sync="list2"
:tree-config="{children: 'children', expandAll: !!filterName2}">
<vxe-table-column type="index" width="120" title="序号" tree-node></vxe-table-column>
<vxe-table-column type="index" width="160" title="序号" tree-node></vxe-table-column>
<vxe-table-column field="name" title="Name">
<template v-slot="{ row }">
<span v-html="row.name"></span>
Expand Down Expand Up @@ -174,15 +174,15 @@ export default {
`
<vxe-toolbar>
<template v-slot:buttons>
<vxe-input v-model="filterName2" type="search" placeholder="试试全表搜索"></vxe-input>
<vxe-input v-model="filterName" type="search" placeholder="试试全表搜索"></vxe-input>
</template>
</vxe-toolbar>
<vxe-table
row-id="id"
:data.sync="list"
:tree-config="{children: 'children', expandAll: !!filterName2}">
<vxe-table-column type="index" width="120" title="序号" tree-node></vxe-table-column>
:tree-config="{children: 'children', expandAll: !!filterName}">
<vxe-table-column type="index" width="160" title="序号" tree-node></vxe-table-column>
<vxe-table-column field="name" title="Name">
<template v-slot="{ row }">
<span v-html="row.name"></span>
Expand Down
2 changes: 1 addition & 1 deletion examples/views/table/api/API.vue
Expand Up @@ -236,7 +236,7 @@ export default {
this.$refs.xTable.hideColumn(column)
break
case 'showAllColumn':
this.$refs.xTable.showColumn()
this.$refs.xTable.resetCustoms()
break
case 'resetColumn':
this.$refs.xTable.resetAll()
Expand Down

0 comments on commit 623494e

Please sign in to comment.