@scenetechnology/cj_iview_table 0.0.70 → 0.0.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -62,10 +62,10 @@ cj_iview_table 是一个功能强大的表格组件,支持筛选、排序、
62
62
  | maxHeight | String | - | 最大高度 |
63
63
  | toolBar | Array/Boolean | true | 工具栏配置 |
64
64
  | defaultSize | Number | - | 默认分页大小 |
65
- | rowKey | String/Boolean | id | 开启跨分页保留选中时使用的唯一键,支持如 `id`、`user.id` |
66
- | selectedRowKeys | Array | [] | 外部传入的已选 rowKey 列表,可用于页面返回后恢复勾选 |
67
- | selectedRows | Array | [] | 外部传入的已选完整行数据,用于页面返回后直接恢复完整提交数据 |
68
- | reserveSelection | Boolean | false | 是否保留跨分页、跨筛选/搜索的多选结果 |
65
+ | rowKey | String/Boolean | id | 开启跨分页保留选中时使用的唯一键,支持如 `id`、`user.id` |
66
+ | selectedRowKeys | Array | [] | 外部传入的已选 rowKey 列表,可用于页面返回后恢复勾选 |
67
+ | selectedRows | Array | [] | 外部传入的已选完整行数据,用于页面返回后直接恢复完整提交数据 |
68
+ | reserveSelection | Boolean | false | 是否保留跨分页、跨筛选/搜索的多选结果 |
69
69
  | filterGridSpan | Number | 6 | 筛选栏栅格跨度 |
70
70
  | filterLabelWidth | Number | 80 | 筛选标签宽度 |
71
71
  | fields | Array | [] | 导出数据时需要包含的属性名 |
@@ -136,48 +136,48 @@ cj_iview_table 是一个功能强大的表格组件,支持筛选、排序、
136
136
  - `on-reserve-selection-change` 返回的是所有分页/筛选范围内累计保留的选中项
137
137
 
138
138
  ### 5. 跨页面返回后恢复勾选
139
- 如果你会在离开列表页后再回来,需要由父页面自己保存已选 rowKey 列表,并在重新进入时通过 `selectedRowKeys` 传回组件。
139
+ 如果你会在离开列表页后再回来,需要由父页面自己保存已选 rowKey 列表,并在重新进入时通过 `selectedRowKeys` 传回组件。
140
140
 
141
141
  ```vue
142
- <cj_iview_table
143
- :columns="columns"
144
- :request="loadData"
145
- row-key="id"
146
- :reserveSelection="true"
147
- :selectedRowKeys="savedSelectedRowKeys"
148
- :selectedRows="savedSelectedRows"
149
- @on-reserve-selection-change="handleReserveSelectionChange"
150
- @on-reserve-selection-keys-change="handleReserveSelectionKeysChange"
151
- />
142
+ <cj_iview_table
143
+ :columns="columns"
144
+ :request="loadData"
145
+ row-key="id"
146
+ :reserveSelection="true"
147
+ :selectedRowKeys="savedSelectedRowKeys"
148
+ :selectedRows="savedSelectedRows"
149
+ @on-reserve-selection-change="handleReserveSelectionChange"
150
+ @on-reserve-selection-keys-change="handleReserveSelectionKeysChange"
151
+ />
152
152
  ```
153
153
 
154
154
  ```js
155
155
  export default {
156
- data () {
157
- return {
158
- savedSelectedRowKeys: JSON.parse(sessionStorage.getItem('table-selected-row-keys') || '[]'),
159
- savedSelectedRows: JSON.parse(sessionStorage.getItem('table-selected-rows') || '[]')
160
- }
161
- },
162
- methods: {
163
- handleReserveSelectionChange (selectedRows) {
164
- this.savedSelectedRows = selectedRows
165
- sessionStorage.setItem('table-selected-rows', JSON.stringify(selectedRows))
166
- },
167
- handleReserveSelectionKeysChange (selectedRowKeys) {
168
- this.savedSelectedRowKeys = selectedRowKeys
169
- sessionStorage.setItem('table-selected-row-keys', JSON.stringify(selectedRowKeys))
156
+ data () {
157
+ return {
158
+ savedSelectedRowKeys: JSON.parse(sessionStorage.getItem('table-selected-row-keys') || '[]'),
159
+ savedSelectedRows: JSON.parse(sessionStorage.getItem('table-selected-rows') || '[]')
160
+ }
161
+ },
162
+ methods: {
163
+ handleReserveSelectionChange (selectedRows) {
164
+ this.savedSelectedRows = selectedRows
165
+ sessionStorage.setItem('table-selected-rows', JSON.stringify(selectedRows))
166
+ },
167
+ handleReserveSelectionKeysChange (selectedRowKeys) {
168
+ this.savedSelectedRowKeys = selectedRowKeys
169
+ sessionStorage.setItem('table-selected-row-keys', JSON.stringify(selectedRowKeys))
170
170
  }
171
171
  }
172
172
  }
173
173
  ```
174
174
 
175
- 说明:
176
- - `selectedRowKeys` 传的是 rowKey 数组,不是整行数据
177
- - `selectedRows` 传的是之前保存下来的完整行数据,组件会优先用它恢复完整提交数据
178
- - 组件会在数据重新加载后自动按这些 key 回显勾选
179
- - 如果某些 key 在当前数据集中不存在,会被自动忽略
180
- - 如果你希望“进入页面不翻页也能直接提交全部已选数据”,需要同时传 `selectedRowKeys` 和 `selectedRows`
175
+ 说明:
176
+ - `selectedRowKeys` 传的是 rowKey 数组,不是整行数据
177
+ - `selectedRows` 传的是之前保存下来的完整行数据,组件会优先用它恢复完整提交数据
178
+ - 组件会在数据重新加载后自动按这些 key 回显勾选
179
+ - 如果某些 key 在当前数据集中不存在,会被自动忽略
180
+ - 如果你希望“进入页面不翻页也能直接提交全部已选数据”,需要同时传 `selectedRowKeys` 和 `selectedRows`
181
181
 
182
182
  ## 使用示例
183
183
 
@@ -25799,7 +25799,7 @@ if (typeof window !== 'undefined') {
25799
25799
  // Indicate to webpack that this file can be concatenated
25800
25800
  /* harmony default export */ var setPublicPath = (null);
25801
25801
 
25802
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/components/index.vue?vue&type=template&id=a2ad3720&scoped=true
25802
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/components/index.vue?vue&type=template&id=cfec47d4&scoped=true
25803
25803
  var render = function render() {
25804
25804
  var _vm = this,
25805
25805
  _c = _vm._self._c;
@@ -37564,7 +37564,11 @@ var vue_treeselect_cjs_default = /*#__PURE__*/__webpack_require__.n(vue_treesele
37564
37564
  if (!isSelection) {
37565
37565
  return this.$emit('onToolBar', index);
37566
37566
  }
37567
- this.$emit('onToolBar', index, this.selectionItems);
37567
+ if (this.shouldReserveSelection()) {
37568
+ this.$emit('onToolBar', index, this.selectionItems, this.getReserveSelectionKeys());
37569
+ } else {
37570
+ this.$emit('onToolBar', index, this.selectionItems);
37571
+ }
37568
37572
  },
37569
37573
  /**
37570
37574
  * 当前表单属性值是否为空
@@ -37863,7 +37867,13 @@ var vue_treeselect_cjs_default = /*#__PURE__*/__webpack_require__.n(vue_treesele
37863
37867
  } = dataValue.content;
37864
37868
  this.columnSettingId = dataValue.id;
37865
37869
  this.columnSettingObj = dataValue.content;
37866
- let columnsList = this.sortAndFilterColumns(lodash_default().cloneDeep(this.columns), checkColumnData);
37870
+ let columnsList;
37871
+ // 如果checkColumnData为空数组,显示所有列
37872
+ if (checkColumnData && checkColumnData.length > 0) {
37873
+ columnsList = this.sortAndFilterColumns(lodash_default().cloneDeep(this.columns), checkColumnData);
37874
+ } else {
37875
+ columnsList = lodash_default().cloneDeep(this.columns);
37876
+ }
37867
37877
  let freezeNum = columnsList[0] && columnsList[0].type == 'selection' ? freeze + 1 : freeze;
37868
37878
  columnsList.forEach((item, index) => {
37869
37879
  if (item.title == '操作') {
@@ -38179,15 +38189,15 @@ var vue_treeselect_cjs_default = /*#__PURE__*/__webpack_require__.n(vue_treesele
38179
38189
  });
38180
38190
  ;// ./packages/components/index.vue?vue&type=script&lang=js
38181
38191
  /* harmony default export */ var packages_componentsvue_type_script_lang_js = (componentsvue_type_script_lang_js);
38182
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-32.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/components/index.vue?vue&type=style&index=0&id=a2ad3720&prod&scoped=true&lang=less
38192
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-32.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/components/index.vue?vue&type=style&index=0&id=cfec47d4&prod&scoped=true&lang=less
38183
38193
  // extracted by mini-css-extract-plugin
38184
38194
 
38185
- ;// ./packages/components/index.vue?vue&type=style&index=0&id=a2ad3720&prod&scoped=true&lang=less
38195
+ ;// ./packages/components/index.vue?vue&type=style&index=0&id=cfec47d4&prod&scoped=true&lang=less
38186
38196
 
38187
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/components/index.vue?vue&type=style&index=1&id=a2ad3720&prod&lang=css
38197
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/components/index.vue?vue&type=style&index=1&id=cfec47d4&prod&lang=css
38188
38198
  // extracted by mini-css-extract-plugin
38189
38199
 
38190
- ;// ./packages/components/index.vue?vue&type=style&index=1&id=a2ad3720&prod&lang=css
38200
+ ;// ./packages/components/index.vue?vue&type=style&index=1&id=cfec47d4&prod&lang=css
38191
38201
 
38192
38202
  ;// ./packages/components/index.vue
38193
38203
 
@@ -38205,7 +38215,7 @@ var components_component = normalizeComponent(
38205
38215
  staticRenderFns,
38206
38216
  false,
38207
38217
  null,
38208
- "a2ad3720",
38218
+ "cfec47d4",
38209
38219
  null
38210
38220
 
38211
38221
  )