chore(BasicTable): resolve BasicTable component ts type error
This commit is contained in:
parent
3d0b88708e
commit
7b87d6d29e
|
|
@ -21,7 +21,7 @@
|
||||||
:rowClassName="getRowClassName"
|
:rowClassName="getRowClassName"
|
||||||
v-show="getEmptyDataIsShowTable"
|
v-show="getEmptyDataIsShowTable"
|
||||||
@change="handleTableChange"
|
@change="handleTableChange"
|
||||||
@resizeColumn="setColumnWidth"
|
@resize-column="setColumnWidth"
|
||||||
>
|
>
|
||||||
<template #[item]="data" v-for="item in Object.keys($slots)" :key="item">
|
<template #[item]="data" v-for="item in Object.keys($slots)" :key="item">
|
||||||
<slot :name="item" v-bind="data || {}"></slot>
|
<slot :name="item" v-bind="data || {}"></slot>
|
||||||
|
|
@ -177,12 +177,12 @@
|
||||||
emit,
|
emit,
|
||||||
);
|
);
|
||||||
|
|
||||||
function handleTableChange(...args) {
|
function handleTableChange(pagination: any, filters: any, sorter: any, extra: any) {
|
||||||
onTableChange.call(undefined, ...args);
|
onTableChange(pagination, filters, sorter);
|
||||||
emit('change', ...args);
|
emit('change', pagination, filters, sorter);
|
||||||
// 解决通过useTable注册onChange时不起作用的问题
|
// 解决通过useTable注册onChange时不起作用的问题
|
||||||
const { onChange } = unref(getProps);
|
const { onChange } = unref(getProps);
|
||||||
onChange && isFunction(onChange) && onChange.call(undefined, ...args);
|
onChange && isFunction(onChange) && onChange(pagination, filters, sorter, extra);
|
||||||
}
|
}
|
||||||
|
|
||||||
const {
|
const {
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
import BasicHelp from '/@/components/Basic/src/BasicHelp.vue';
|
import BasicHelp from '/@/components/Basic/src/BasicHelp.vue';
|
||||||
import EditTableHeaderCell from './EditTableHeaderIcon.vue';
|
import EditTableHeaderCell from './EditTableHeaderIcon.vue';
|
||||||
import { useDesign } from '/@/hooks/web/useDesign';
|
import { useDesign } from '/@/hooks/web/useDesign';
|
||||||
|
import { ColumnType } from 'ant-design-vue/lib/table/interface';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'TableHeaderCell',
|
name: 'TableHeaderCell',
|
||||||
|
|
@ -14,22 +15,22 @@
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
column: {
|
column: {
|
||||||
type: Object as PropType<BasicColumn>,
|
type: Object as PropType<ColumnType<any>>,
|
||||||
default: () => ({}),
|
default: () => ({}),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
setup(props) {
|
setup(props) {
|
||||||
const { prefixCls } = useDesign('basic-table-header-cell');
|
const { prefixCls } = useDesign('basic-table-header-cell');
|
||||||
|
|
||||||
const getIsEdit = computed(() => !!props.column?.edit);
|
const getIsEdit = computed(() => !!(props.column as BasicColumn)?.edit);
|
||||||
const getTitle = computed(() => {
|
const getTitle = computed(() => {
|
||||||
const column = props.column;
|
const column = props.column as BasicColumn;
|
||||||
if (typeof column.customHeaderRender === 'function') {
|
if (typeof column.customHeaderRender === 'function') {
|
||||||
return column.customHeaderRender(props.column);
|
return column.customHeaderRender(column);
|
||||||
}
|
}
|
||||||
return props.column?.customTitle || props.column?.title;
|
return column?.customTitle || props.column?.title;
|
||||||
});
|
});
|
||||||
const getHelpMessage = computed(() => props.column?.helpMessage);
|
const getHelpMessage = computed(() => (props.column as BasicColumn)?.helpMessage);
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
return (
|
return (
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import { isArray, isBoolean, isFunction, isMap, isString } from '/@/utils/is';
|
||||||
import { cloneDeep, isEqual } from 'lodash-es';
|
import { cloneDeep, isEqual } from 'lodash-es';
|
||||||
import { formatToDate } from '/@/utils/dateUtil';
|
import { formatToDate } from '/@/utils/dateUtil';
|
||||||
import { ACTION_COLUMN_FLAG, DEFAULT_ALIGN, INDEX_COLUMN_FLAG, PAGE_SIZE } from '../const';
|
import { ACTION_COLUMN_FLAG, DEFAULT_ALIGN, INDEX_COLUMN_FLAG, PAGE_SIZE } from '../const';
|
||||||
|
import { ColumnType } from 'ant-design-vue/es/table';
|
||||||
|
|
||||||
function handleItem(item: BasicColumn, ellipsis: boolean) {
|
function handleItem(item: BasicColumn, ellipsis: boolean) {
|
||||||
const { key, dataIndex, children } = item;
|
const { key, dataIndex, children } = item;
|
||||||
|
|
@ -265,7 +266,7 @@ export function useColumns(
|
||||||
/**
|
/**
|
||||||
* 拖拽列宽修改列的宽度
|
* 拖拽列宽修改列的宽度
|
||||||
*/
|
*/
|
||||||
function setColumnWidth(w: number, col: BasicColumn) {
|
function setColumnWidth(w: number, col: ColumnType<BasicColumn>) {
|
||||||
col.width = w;
|
col.width = w;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue