diff --git a/src/components/Table/src/BasicTable.vue b/src/components/Table/src/BasicTable.vue
index 38397f8..3a38d2b 100644
--- a/src/components/Table/src/BasicTable.vue
+++ b/src/components/Table/src/BasicTable.vue
@@ -113,12 +113,12 @@ const {
   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 { getViewColumns, getColumns, setCacheColumnsByField, setCacheColumns, setColumns, getColumnsRef, getCacheColumns } = useColumns(
diff --git a/src/components/Table/src/components/HeaderCell.vue b/src/components/Table/src/components/HeaderCell.vue
index ca18cfc..9097f9b 100644
--- a/src/components/Table/src/components/HeaderCell.vue
+++ b/src/components/Table/src/components/HeaderCell.vue
@@ -1,6 +1,7 @@
 <script lang="tsx">
 import type { PropType } from 'vue'
 import { computed, defineComponent } from 'vue'
+import type { ColumnType } from 'ant-design-vue/lib/table/interface'
 import type { BasicColumn } from '../types/table'
 import BasicHelp from '/@/components/Basic/src/BasicHelp.vue'
 import EditTableHeaderCell from './EditTableHeaderIcon.vue'
@@ -14,22 +15,22 @@ export default defineComponent({
   },
   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 (
diff --git a/src/components/Table/src/hooks/useColumns.ts b/src/components/Table/src/hooks/useColumns.ts
index 882a22c..c2b8b02 100644
--- a/src/components/Table/src/hooks/useColumns.ts
+++ b/src/components/Table/src/hooks/useColumns.ts
@@ -1,6 +1,7 @@
 import type { ComputedRef, Ref } from 'vue'
 import { computed, reactive, ref, toRaw, unref, watch } from 'vue'
 import { cloneDeep, isEqual } from 'lodash-es'
+import type { ColumnType } from 'ant-design-vue/es/table'
 import type { BasicColumn, BasicTableProps, CellFormat, GetColumnsParams } from '../types/table'
 import type { PaginationProps } from '../types/pagination'
 import { renderEditCell } from '../components/editable'
@@ -54,6 +55,7 @@ function handleIndexColumn(
     const indIndex = columns.findIndex(column => column.flag === INDEX_COLUMN_FLAG)
     if (showIndexColumn)
       pushIndexColumns = indIndex === -1
+
     else if (!showIndexColumn && indIndex !== -1)
       columns.splice(indIndex, 1)
   })
@@ -147,7 +149,7 @@ export function useColumns(propsRef: ComputedRef<BasicTableProps>, getPagination
       if (!slots || !slots?.title)
         column.customTitle = column.title
 
-      const isDefaultAction = [INDEX_COLUMN_FLAG, ACTION_COLUMN_FLAG].includes(flag)
+      const isDefaultAction = [INDEX_COLUMN_FLAG, ACTION_COLUMN_FLAG].includes(flag!)
       if (!customRender && format && !edit && !isDefaultAction) {
         column.customRender = ({ text, record, index }) => {
           return formatCell(text, format, record, index)
@@ -252,12 +254,19 @@ export function useColumns(propsRef: ComputedRef<BasicTableProps>, getPagination
       return
     cacheColumns = columns.filter(item => !item.flag)
   }
+  /**
+   * 拖拽列宽修改列的宽度
+   */
+  function setColumnWidth(w: number, col: ColumnType<BasicColumn>) {
+    col.width = w
+  }
 
   return {
     getColumnsRef,
     getCacheColumns,
     getColumns,
     setColumns,
+    setColumnWidth,
     getViewColumns,
     setCacheColumnsByField,
     setCacheColumns,