|
|
@@ -52,11 +52,20 @@ function parseColumn<T extends Record<string, unknown>>(
|
|
|
let rightPosition = parseColumns.reduce(function(prev, next) {
|
|
|
if (next.fixed !== 'right') return prev;
|
|
|
|
|
|
- return prev + next.width;
|
|
|
+ return prev + (next.width ?? TABLE_CELL_WIDTH.normal);
|
|
|
}, 0);
|
|
|
|
|
|
const columnList = parseColumns.map(function(val) {
|
|
|
- const {dataIndex, title, render, align, fixed, width, sort, children} = val;
|
|
|
+ const {
|
|
|
+ dataIndex,
|
|
|
+ title,
|
|
|
+ render,
|
|
|
+ align,
|
|
|
+ fixed,
|
|
|
+ width = TABLE_CELL_WIDTH.normal,
|
|
|
+ sort,
|
|
|
+ children,
|
|
|
+ } = val;
|
|
|
|
|
|
let fixedStyle: CSSProperties = {};
|
|
|
|
|
|
@@ -91,7 +100,10 @@ function parseColumn<T extends Record<string, unknown>>(
|
|
|
header: title,
|
|
|
columns,
|
|
|
minSize: 0,
|
|
|
- size: width,
|
|
|
+ size: columns.reduce(
|
|
|
+ (prev, next) => prev + (next.size ?? TABLE_CELL_WIDTH.normal),
|
|
|
+ 0,
|
|
|
+ ),
|
|
|
meta,
|
|
|
});
|
|
|
|
|
|
@@ -120,6 +132,7 @@ function parseColumn<T extends Record<string, unknown>>(
|
|
|
return helper.accessor(dataIndex.toString(), {
|
|
|
header: title?.toString(),
|
|
|
cell: props => props.getValue(),
|
|
|
+ minSize: 0,
|
|
|
size: width,
|
|
|
meta,
|
|
|
});
|
|
|
@@ -208,20 +221,16 @@ export function useTable<T extends Record<string, any>>(
|
|
|
|
|
|
const preloadData = useContextSection(settingContext, state => state[0]);
|
|
|
|
|
|
- const [columnSizing, setColumnSizing] = useState(function() {
|
|
|
- if (preloadData?.tableWidth)
|
|
|
- return JSON.parse(preloadData.tableWidth) as Record<string, number>;
|
|
|
-
|
|
|
- return {};
|
|
|
- });
|
|
|
- const [columnOrder, setColumnOrder] = useState(function() {
|
|
|
- if (preloadData?.tableOrder)
|
|
|
- return JSON.parse(preloadData?.tableOrder) as string[];
|
|
|
-
|
|
|
- const nextList = columns.map(val => val.dataIndex.toString());
|
|
|
-
|
|
|
- return hasGroup ? [] : ['select', 'no', ...nextList];
|
|
|
- });
|
|
|
+ const [columnSizing, setColumnSizing] = useState(
|
|
|
+ preloadData?.tableWidth
|
|
|
+ ? JSON.parse(preloadData.tableWidth) as Record<string, number>
|
|
|
+ : {},
|
|
|
+ );
|
|
|
+ const [columnOrder, setColumnOrder] = useState(
|
|
|
+ preloadData?.tableOrder
|
|
|
+ ? JSON.parse(preloadData?.tableOrder) as string[]
|
|
|
+ : [],
|
|
|
+ );
|
|
|
const [sorting, setSorting] = useState<SortingState>([]);
|
|
|
const onSortingChangeFn = useLatest(onSortingChange);
|
|
|
useEffect(function() {
|