chore(BasicTable): resolve BasicTable component ts type error
This commit is contained in:
parent
3d0b88708e
commit
7b87d6d29e
|
|
@ -21,7 +21,7 @@
|
|||
:rowClassName="getRowClassName"
|
||||
v-show="getEmptyDataIsShowTable"
|
||||
@change="handleTableChange"
|
||||
@resizeColumn="setColumnWidth"
|
||||
@resize-column="setColumnWidth"
|
||||
>
|
||||
<template #[item]="data" v-for="item in Object.keys($slots)" :key="item">
|
||||
<slot :name="item" v-bind="data || {}"></slot>
|
||||
|
|
@ -177,12 +177,12 @@
|
|||
emit,
|
||||
);
|
||||
|
||||
function handleTableChange(...args) {
|
||||
onTableChange.call(undefined, ...args);
|
||||
emit('change', ...args);
|
||||
function handleTableChange(pagination: any, filters: any, sorter: any, extra: any) {
|
||||
onTableChange(pagination, filters, sorter);
|
||||
emit('change', pagination, filters, sorter);
|
||||
// 解决通过useTable注册onChange时不起作用的问题
|
||||
const { onChange } = unref(getProps);
|
||||
onChange && isFunction(onChange) && onChange.call(undefined, ...args);
|
||||
onChange && isFunction(onChange) && onChange(pagination, filters, sorter, extra);
|
||||
}
|
||||
|
||||
const {
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
import BasicHelp from '/@/components/Basic/src/BasicHelp.vue';
|
||||
import EditTableHeaderCell from './EditTableHeaderIcon.vue';
|
||||
import { useDesign } from '/@/hooks/web/useDesign';
|
||||
import { ColumnType } from 'ant-design-vue/lib/table/interface';
|
||||
|
||||
export default defineComponent({
|
||||
name: 'TableHeaderCell',
|
||||
|
|
@ -14,22 +15,22 @@
|
|||
},
|
||||
props: {
|
||||
column: {
|
||||
type: Object as PropType<BasicColumn>,
|
||||
type: Object as PropType<ColumnType<any>>,
|
||||
default: () => ({}),
|
||||
},
|
||||
},
|
||||
setup(props) {
|
||||
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 column = props.column;
|
||||
const column = props.column as BasicColumn;
|
||||
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 (
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import { isArray, isBoolean, isFunction, isMap, isString } from '/@/utils/is';
|
|||
import { cloneDeep, isEqual } from 'lodash-es';
|
||||
import { formatToDate } from '/@/utils/dateUtil';
|
||||
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) {
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue