diff --git a/package.json b/package.json index b1b1ade3a8..e006398341 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vxe-table", - "version": "4.10.6-beta.30", + "version": "4.10.6-beta.31", "description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟树、拖拽排序,懒加载、快捷菜单、数据校验、树形结构、打印、导入导出、自定义模板、渲染器、JSON 配置式...", "scripts": { "update": "npm install --legacy-peer-deps", @@ -28,7 +28,7 @@ "style": "lib/style.css", "typings": "types/index.d.ts", "dependencies": { - "vxe-pc-ui": "^4.3.77" + "vxe-pc-ui": "^4.3.78" }, "devDependencies": { "@types/resize-observer-browser": "^0.1.11", diff --git a/packages/table/src/cell.ts b/packages/table/src/cell.ts index 9d223b0acf..a1c52b0673 100644 --- a/packages/table/src/cell.ts +++ b/packages/table/src/cell.ts @@ -885,7 +885,7 @@ export const Cell = { const { $table, column } = params const { computeSortOpts } = $table.getComputeMaps() const sortOpts = computeSortOpts.value - const { showIcon, iconLayout, iconAsc, iconDesc, iconVisibleMethod } = sortOpts + const { showIcon, allowBtn, iconLayout, iconAsc, iconDesc, iconVisibleMethod } = sortOpts const { order } = column if (showIcon && (!iconVisibleMethod || iconVisibleMethod(params))) { return [ @@ -897,20 +897,24 @@ export const Cell = { 'sort--active': order === 'asc' }], title: getI18n('vxe.table.sortAsc'), - onClick (evnt: Event) { - evnt.stopPropagation() - $table.triggerSortEvent(evnt, column, 'asc') - } + onClick: allowBtn + ? (evnt: Event) => { + evnt.stopPropagation() + $table.triggerSortEvent(evnt, column, 'asc') + } + : undefined }), h('i', { class: ['vxe-sort--desc-btn', iconDesc || getIcon().TABLE_SORT_DESC, { 'sort--active': order === 'desc' }], title: getI18n('vxe.table.sortDesc'), - onClick (evnt: Event) { - evnt.stopPropagation() - $table.triggerSortEvent(evnt, column, 'desc') - } + onClick: allowBtn + ? (evnt: Event) => { + evnt.stopPropagation() + $table.triggerSortEvent(evnt, column, 'desc') + } + : undefined }) ]) ] diff --git a/packages/table/src/props.ts b/packages/table/src/props.ts index a5b16f60f4..7d9540a37f 100644 --- a/packages/table/src/props.ts +++ b/packages/table/src/props.ts @@ -86,13 +86,18 @@ export default { type: Boolean as PropType, default: () => getConfig().table.highlightHoverRow }, - // (即将废弃)是否要高亮当前选中列 - + /** + * (即将废弃)是否要高亮当前选中列 + * @deprecated + */ highlightCurrentColumn: { type: Boolean as PropType, default: () => getConfig().table.highlightCurrentColumn }, - // (即将废弃)鼠标移到列是否要高亮显示 + /** + * (即将废弃)鼠标移到列是否要高亮显示 + * @deprecated + */ highlightHoverColumn: { type: Boolean as PropType, default: () => getConfig().table.highlightHoverColumn diff --git a/packages/table/src/table.ts b/packages/table/src/table.ts index a63d3a1f42..b25a480d41 100644 --- a/packages/table/src/table.ts +++ b/packages/table/src/table.ts @@ -7812,10 +7812,13 @@ export default defineComponent({ */ triggerSortEvent (evnt, column, order) { const sortOpts = computeSortOpts.value + const { multiple, allowClear } = sortOpts const { field, sortable } = column if (sortable) { if (!order || column.order === order) { - tableMethods.clearSort(sortOpts.multiple ? column : null) + if (allowClear) { + tableMethods.clearSort(multiple ? column : null) + } } else { tableMethods.sort({ field, order }) } diff --git a/packages/ui/index.ts b/packages/ui/index.ts index e8320c168b..8fcbfff89f 100644 --- a/packages/ui/index.ts +++ b/packages/ui/index.ts @@ -119,6 +119,8 @@ VxeUI.setConfig({ // orders: ['asc', 'desc', null], // sortMethod: null, showIcon: true, + allowClear: true, + allowBtn: true, iconLayout: 'vertical' }, filterConfig: {