diff --git a/package.json b/package.json index 131e5c0..3e5baf5 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "lint:eslint": "eslint \"{src}/**/*.{vue,ts,tsx}\" --fix" }, "dependencies": { - "@cool-vue/crud": "^7.0.1-beta4", + "@cool-vue/crud": "^7.0.1-beta6", "@element-plus/icons-vue": "^2.1.0", "@vueuse/core": "^10.4.0", "@wangeditor/editor": "^5.1.23", diff --git a/packages/crud/index.d.ts b/packages/crud/index.d.ts index 7e39a62..2d415eb 100644 --- a/packages/crud/index.d.ts +++ b/packages/crud/index.d.ts @@ -56,8 +56,8 @@ declare type List = Array | (() => DeepPartial)>; // 字典选项 declare type DictOptions = { - label: string; - value: any; + label?: string; + value?: any; color?: string; type?: string; [key: string]: any; diff --git a/packages/crud/package.json b/packages/crud/package.json index 806add6..93b43dd 100644 --- a/packages/crud/package.json +++ b/packages/crud/package.json @@ -1,6 +1,6 @@ { "name": "@cool-vue/crud", - "version": "7.0.1-beta4", + "version": "7.0.1-beta6", "private": false, "main": "./dist/index.umd.min.js", "typings": "types/index.d.ts", diff --git a/packages/crud/src/utils/parse.tsx b/packages/crud/src/utils/parse.tsx index f41aeed..c5eb197 100644 --- a/packages/crud/src/utils/parse.tsx +++ b/packages/crud/src/utils/parse.tsx @@ -29,15 +29,14 @@ export function parseTableDict(value: any, item: ClTable.Column) { // 设置颜色 if (item.dictColor) { options.forEach((e, i) => { - e.color = style.colors[i]; + if (!e.color) { + e.color = style.colors[i]; + } }); } - // 格式化方法 - const formatter = item.dictFormatter; - - // 多个值 - const values = isArray(value) ? value : [value]; + // 绑定值 + const values = (isArray(value) ? value : [value]).filter((e) => e !== undefined); // 返回值 const list = values.map((v) => { @@ -48,8 +47,8 @@ export function parseTableDict(value: any, item: ClTable.Column) { }); // 是否格式化 - if (formatter) { - return formatter(list); + if (item.dictFormatter) { + return item.dictFormatter(list); } else { return list.map((e) => { return h( @@ -66,14 +65,14 @@ export function parseTableDict(value: any, item: ClTable.Column) { /** * 解析 table.op.buttons */ -export function parseTableOpButtons(buttons: any, { scope }: any) { +export function parseTableOpButtons(buttons: any[], { scope }: any) { const { crud } = useCore(); const { style } = useConfig(); const slots = useSlots(); - const list = getValue(buttons, { scope }) || ["edit", "delete"]; + const list: any[] = getValue(buttons, { scope }) || ["edit", "delete"]; - return list.map((vnode: any) => { + return list.map((vnode) => { if (vnode === "info") { return ( - + @@ -154,7 +148,7 @@ const Table = useTable({ { prop: "createTime", label: "创建时间", - sortable: "custom", + sortable: "desc", minWidth: 160 }, { diff --git a/yarn.lock b/yarn.lock index 9fd0fb5..4156207 100644 --- a/yarn.lock +++ b/yarn.lock @@ -282,10 +282,10 @@ "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" -"@cool-vue/crud@^7.0.1-beta4": - version "7.0.1-beta4" - resolved "https://registry.yarnpkg.com/@cool-vue/crud/-/crud-7.0.1-beta4.tgz#2bc541296edcb2af83aa5c7094795c996beff41f" - integrity sha512-dD0lKPTSR5LGPJU9GHLyx/1fcGDq2Mnw6kj8rCLIqXlnDP78ufmE6iYVk2U23qgjxEDonHnij3/w6OmtRa1Vzg== +"@cool-vue/crud@^7.0.1-beta6": + version "7.0.1-beta6" + resolved "https://registry.yarnpkg.com/@cool-vue/crud/-/crud-7.0.1-beta6.tgz#dc3b8d6c607fba4dc2b4b40f6906c8a70f58bb49" + integrity sha512-DtUvZc4EQtfANvPMv9ydfNJxcmXsOaoUiWEf66vRSzDeOZ1K0a1u1Ha0y7R09C2HC2wla8GvKv0ySxM9aDLXNQ== dependencies: array.prototype.flat "^1.2.4" core-js "^3.21.1"