holyes-table 1.0.15 → 1.0.17

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
@@ -4,22 +4,30 @@
4
4
 
5
5
  ## 目录
6
6
 
7
- - [优化](#优化)
8
- - [注意事项](#注意事项)
9
- - [组件依赖](#组件依赖)
10
- - [基本用法](#基本用法)
11
- - [安装](#安装)
12
- - [简单示例](#简单示例)
13
- - [Props 属性](#props-属性)
14
- - [列配置说明 (columns)](#列配置说明-columns)
15
- - [树形结构配置 (treeConfig)](#树形结构配置-treeconfig)
16
- - [展开行配置 (expandConfig)](#展开行配置-expandconfig)
17
- - [Emits 事件](#emits-事件)
18
- - [Methods 方法](#methods-方法)
19
- - [方法使用示例](#方法使用示例)
20
- - [插槽使用](#插槽使用)
21
- - [自定义插槽](#自定义插槽)
22
- - [默认插槽类型](#默认插槽类型)
7
+ - [组件说明](#组件说明)
8
+ - [目录](#目录)
9
+ - [优化](#优化)
10
+ - [注意事项](#注意事项)
11
+ - [组件依赖](#组件依赖)
12
+ - [基本用法](#基本用法)
13
+ - [安装](#安装)
14
+ - [导入类型(TS 项目)](#导入类型ts-项目)
15
+ - [简单示例](#简单示例)
16
+ - [Props 属性](#props-属性)
17
+ - [列配置说明 (columns)](#列配置说明-columns)
18
+ - [筛选字段类型说明](#筛选字段类型说明)
19
+ - [列配置示例](#列配置示例)
20
+ - [树形结构配置 (treeConfig)](#树形结构配置-treeconfig)
21
+ - [树形结构配置示例](#树形结构配置示例)
22
+ - [展开行配置 (expandConfig)](#展开行配置-expandconfig)
23
+ - [展开行配置示例](#展开行配置示例)
24
+ - [表尾行属性配置 (footerProps)](#表尾行属性配置-footerprops)
25
+ - [Emits 事件](#emits-事件)
26
+ - [Methods 方法](#methods-方法)
27
+ - [方法使用示例](#方法使用示例)
28
+ - [插槽使用](#插槽使用)
29
+ - [自定义插槽](#自定义插槽)
30
+ - [默认插槽类型](#默认插槽类型)
23
31
 
24
32
  ## 优化
25
33
 
@@ -222,6 +230,8 @@ interface HolyesTableColumnPropsType {
222
230
  fixed?: "left" | "right" | ""
223
231
  /** 列是否可排序 */
224
232
  sortable?: boolean
233
+ /** 列排序实际的字段,默认值为列的field */
234
+ sortField?: string
225
235
  /** 列类型 */
226
236
  type?: "seq" | "checkbox" | "expand"
227
237
  /** 列样式 */
@@ -324,6 +334,8 @@ interface HolyesTableColumnPropsType {
324
334
  checkbox?: {
325
335
  /** 多选框是否半选,取决于row的哪个字段 */
326
336
  checkedIndeterminateField?: string
337
+ /** 多选框是否禁用,取决于row的哪个字段 */
338
+ disabledField?: string
327
339
  /** 多选框点击事件 */
328
340
  onChange?: (row: any, index: number) => void
329
341
  }
@@ -804,6 +816,7 @@ const columns = [
804
816
  defaultProps: {
805
817
  checkbox: {
806
818
  checkedIndeterminateField: 'halfChecked',
819
+ disabledField: 'checkedDisabled',
807
820
  onChange: (row, index) => {
808
821
  console.log('复选框变化', row)
809
822
  }
package/dist/index.mjs CHANGED
@@ -258,42 +258,48 @@ function me(e) {
258
258
  //#endregion
259
259
  //#region lib/pretextTable/hook/useSort.ts
260
260
  function he(e) {
261
- let { nowDataSource: t, getVisibleData: n, setNowDataSource: r, treeConfig: i, defaultTreeConfig: a } = e, o = g(""), s = g(null), c = (e, t) => {
261
+ let { nowDataSource: t, getVisibleData: n, setNowDataSource: r, treeConfig: i, defaultTreeConfig: a, columns: o } = e, s = g(""), c = "", l = g(null), u = (e, t) => {
262
+ let n = o?.value || [];
263
+ c = "";
264
+ for (let t of n) if (t.field === e) {
265
+ c = t.sortField || t.field;
266
+ break;
267
+ }
262
268
  if (t === "auto") switch (!0) {
263
- case e !== o.value:
264
- case s.value === null:
265
- s.value = "asc", o.value = e;
269
+ case e !== s.value:
270
+ case l.value === null:
271
+ l.value = "asc", s.value = e;
266
272
  break;
267
- case s.value === "asc":
268
- s.value = "desc", o.value = e;
273
+ case l.value === "asc":
274
+ l.value = "desc", s.value = e;
269
275
  break;
270
- case s.value === "desc":
271
- s.value = null, o.value = "";
276
+ case l.value === "desc":
277
+ l.value = null, s.value = "", c = "";
272
278
  break;
273
279
  default:
274
- s.value = "asc", o.value = e;
280
+ l.value = "asc", s.value = e;
275
281
  break;
276
282
  }
277
- else t === s.value && e === o.value ? (s.value = null, o.value = "") : (s.value = t, o.value = e);
278
- u();
279
- }, l = (e, t, n) => {
283
+ else t === l.value && e === s.value ? (l.value = null, s.value = "", c = "") : (l.value = t, s.value = e);
284
+ f();
285
+ }, d = (e, t, n) => {
280
286
  let r = le(e, [[(e) => M(Number(e[t])) ? e[t] || "" : Number(e[t]), n]]);
281
287
  if (i?.isOpenTree) {
282
288
  let e = i?.childrenField || a?.childrenField;
283
289
  for (let i of r) {
284
290
  let r = i[e] || [];
285
- r?.length && (i[e] = l(r, t, n));
291
+ r?.length && (i[e] = d(r, t, n));
286
292
  }
287
293
  }
288
294
  return r;
289
- }, u = () => {
290
- s.value === null ? r(l(t.value, F.index, "asc")) : r(l(t.value, o.value, s.value)), n();
295
+ }, f = () => {
296
+ l.value === null ? r(d(t.value, F.index, "asc")) : r(d(t.value, c, l.value)), n();
291
297
  };
292
298
  return {
293
- sortField: o,
294
- sortOrder: s,
295
- sort: c,
296
- handleSort: u
299
+ sortField: s,
300
+ sortOrder: l,
301
+ sort: u,
302
+ handleSort: f
297
303
  };
298
304
  }
299
305
  //#endregion
@@ -1075,7 +1081,8 @@ var _e = (e) => {
1075
1081
  getVisibleData: H,
1076
1082
  setNowDataSource: b,
1077
1083
  treeConfig: e.props.treeConfig,
1078
- defaultTreeConfig: K
1084
+ defaultTreeConfig: K,
1085
+ columns: t
1079
1086
  }), { filterPopupWidth: ht, filterPopupId: gt, inputFilterOptions: _t, numberFilterOptions: vt, filterFields: yt, getFilterFields: bt, filterClick: xt, setFilter: St, clearFilter: Ct } = ge({
1080
1087
  columns: t,
1081
1088
  baseDataSource: m,
@@ -1719,10 +1726,12 @@ var _e = (e) => {
1719
1726
  ])) : r("", !0)], 64)) : f.slots?.defaultType == "checkbox" ? (h(), i("span", Le, [s(S(k), {
1720
1727
  modelValue: t[f.field],
1721
1728
  indeterminate: f.slots?.defaultProps?.checkbox?.checkedIndeterminateField ? t[f.slots?.defaultProps?.checkbox?.checkedIndeterminateField] : !1,
1729
+ disabled: f.slots?.defaultProps?.checkbox?.disabledField && t[f.slots?.defaultProps?.checkbox?.disabledField],
1722
1730
  onChange: (e) => f.slots?.defaultProps?.checkbox?.onChange?.(t, g)
1723
1731
  }, null, 8, [
1724
1732
  "modelValue",
1725
1733
  "indeterminate",
1734
+ "disabled",
1726
1735
  "onChange"
1727
1736
  ])])) : (h(), i("span", {
1728
1737
  key: 10,
@@ -1,5 +1,5 @@
1
1
  import { ShallowRef } from 'vue';
2
- import { HolyesTableTreeConfig } from '../type';
2
+ import { HolyesTableColumnPropsType, HolyesTableTreeConfig } from '../type';
3
3
  /** 排序 */
4
4
  export declare function useSort(dataObj: {
5
5
  nowDataSource: ShallowRef<any[]>;
@@ -8,6 +8,8 @@ export declare function useSort(dataObj: {
8
8
  treeConfig?: HolyesTableTreeConfig;
9
9
  /** 默认树配置 */
10
10
  defaultTreeConfig?: any;
11
+ /** 列配置 */
12
+ columns?: ShallowRef<HolyesTableColumnPropsType[]>;
11
13
  }): {
12
14
  /** 当前排序字段 */
13
15
  sortField: import('vue').Ref<string, string>;
@@ -11,6 +11,8 @@ export type HolyesTableColumnPropsTypeOption = {
11
11
  fixed?: "left" | "right" | "";
12
12
  /** 列是否可排序 */
13
13
  sortable?: boolean;
14
+ /** 列排序实际的字段,默认值为列的field */
15
+ sortField?: string;
14
16
  /** 列类型 */
15
17
  type?: "seq" | "checkbox" | "expand";
16
18
  /** 列样式 */
@@ -116,6 +118,8 @@ export type HolyesTableColumnPropsTypeOption = {
116
118
  checkbox?: {
117
119
  /** 多选框是否半选,取决于row的哪个字段 */
118
120
  checkedIndeterminateField?: string;
121
+ /** 多选框是否禁用,取决于row的哪个字段 */
122
+ disabledField?: string;
119
123
  /** 多选框点击事件 */
120
124
  onChange?: (row: any, index: number) => void;
121
125
  };
package/package.json CHANGED
@@ -1,53 +1,53 @@
1
- {
2
- "name": "holyes-table",
3
- "version": "1.0.15",
4
- "description": "合力思虚拟滚动表格组件",
5
- "main": "./dist/index.mjs",
6
- "module": "./dist/index.mjs",
7
- "types": "./dist/lib/main.d.ts",
8
- "exports": {
9
- ".": {
10
- "types": "./dist/lib/main.d.ts",
11
- "import": "./dist/index.mjs",
12
- "default": "./dist/index.mjs"
13
- },
14
- "./style.css": "./dist/index.css"
15
- },
16
- "files": [
17
- "dist",
18
- "skills",
19
- "更新日志.md"
20
- ],
21
- "scripts": {
22
- "dev": "vite",
23
- "build": "vite build",
24
- "prepublishOnly": "pnpm run build",
25
- "登录npm": "npm login --registry https://registry.npmjs.org",
26
- "发布npm": "npm publish --registry https://registry.npmjs.org",
27
- "退出npm登录": "npm logout --registry https://registry.npmjs.org",
28
- "查看npm登录": "npm whoami --registry https://registry.npmjs.org",
29
- "补丁更新": "npm version patch --registry https://registry.npmjs.org",
30
- "小功能更新": "npm version minor --registry https://registry.npmjs.org",
31
- "大版本更新": "npm version major --registry https://registry.npmjs.org",
32
- "废弃某个版本": "npm deprecate holyes-table@1.0.3 '请升级到版本1.0.4+' --registry https://registry.npmjs.org"
33
- },
34
- "peerDependencies": {
35
- "vue": "^3.3.13",
36
- "vxe-pc-ui": "^4.9.41",
37
- "xe-utils": "^4.0.4"
38
- },
39
- "devDependencies": {
40
- "@vitejs/plugin-vue": "^6.0.6",
41
- "less": "^4.6.4",
42
- "typescript": "~6.0.2",
43
- "vite": "^8.0.3",
44
- "vite-plugin-dts": "^5.0.0",
45
- "vue": "^3.5.34",
46
- "vue-tsc": "^2.2.12"
47
- },
48
- "dependencies": {
49
- "normalize.css": "^8.0.1",
50
- "vxe-pc-ui": "^4.14.11",
51
- "xe-utils": "^4.0.7"
52
- }
53
- }
1
+ {
2
+ "name": "holyes-table",
3
+ "version": "1.0.17",
4
+ "description": "合力思虚拟滚动表格组件",
5
+ "main": "./dist/index.mjs",
6
+ "module": "./dist/index.mjs",
7
+ "types": "./dist/lib/main.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/lib/main.d.ts",
11
+ "import": "./dist/index.mjs",
12
+ "default": "./dist/index.mjs"
13
+ },
14
+ "./style.css": "./dist/index.css"
15
+ },
16
+ "files": [
17
+ "dist",
18
+ "skills",
19
+ "更新日志.md"
20
+ ],
21
+ "scripts": {
22
+ "dev": "vite",
23
+ "build": "vite build",
24
+ "prepublishOnly": "pnpm run build",
25
+ "登录npm": "npm login --registry https://registry.npmjs.org",
26
+ "发布npm": "npm publish --registry https://registry.npmjs.org",
27
+ "退出npm登录": "npm logout --registry https://registry.npmjs.org",
28
+ "查看npm登录": "npm whoami --registry https://registry.npmjs.org",
29
+ "补丁更新": "npm version patch --registry https://registry.npmjs.org",
30
+ "小功能更新": "npm version minor --registry https://registry.npmjs.org",
31
+ "大版本更新": "npm version major --registry https://registry.npmjs.org",
32
+ "废弃某个版本": "npm deprecate holyes-table@1.0.3 '请升级到版本1.0.4+' --registry https://registry.npmjs.org"
33
+ },
34
+ "peerDependencies": {
35
+ "vue": "^3.3.13",
36
+ "vxe-pc-ui": "^4.9.41",
37
+ "xe-utils": "^4.0.4"
38
+ },
39
+ "devDependencies": {
40
+ "@vitejs/plugin-vue": "^6.0.6",
41
+ "less": "^4.6.4",
42
+ "typescript": "~6.0.2",
43
+ "vite": "^8.0.3",
44
+ "vite-plugin-dts": "^5.0.0",
45
+ "vue": "^3.5.34",
46
+ "vue-tsc": "^2.2.12"
47
+ },
48
+ "dependencies": {
49
+ "normalize.css": "^8.0.1",
50
+ "vxe-pc-ui": "^4.14.11",
51
+ "xe-utils": "^4.0.7"
52
+ }
53
+ }