adding new rows
i want to add an add more rows feature
so i have extanded the table options and table instance
i have add the setData function and i have give it a default function if no setData is passed as option
and iam using the setOptions to modify the data but is not working
getDefaultOptions: <TData extends TanstackTable.RowData>(table: TanstackTable.Table<TData>): EditModeOptions<TData> => { const defaultSetData: SetDataState = (updateFn) => { table.setOptions((updater) => { const newData = typeof updateFn === 'function' ? updateFn(table.options.data) : updateFn; return { ...updater, data: newData }; }) }; return { enableEditMode: false, onEditModeChange: TanstackTable.makeStateUpdater("editMode", table), setData: defaultSetData, onDataChange: (rowIdx, columnIdx, value) => { console.log(table.options.data); } } }, createTable: <TData extends TanstackTable.RowData>(table: TanstackTable.Table<TData>): void => { const { setData } = table.options; table.getEditModeRowModel = () => editModeRowsFn(table, table.getRowModel()) table.setRowOnEditMode = updater => table.options.onEditModeChange?.(updater) table.resetEditMode = defaultState => table.setRowOnEditMode(defaultState ? {} : table.initialState.editMode ?? {}) table.addRow = row => { setData!((old) => [...old, row]); }; },
getDefaultOptions: <TData extends TanstackTable.RowData>(table: TanstackTable.Table<TData>): EditModeOptions<TData> => { const defaultSetData: SetDataState = (updateFn) => { table.setOptions((updater) => { const newData = typeof updateFn === 'function' ? updateFn(table.options.data) : updateFn; return { ...updater, data: newData }; }) }; return { enableEditMode: false, onEditModeChange: TanstackTable.makeStateUpdater("editMode", table), setData: defaultSetData, onDataChange: (rowIdx, columnIdx, value) => { console.log(table.options.data); } } }, createTable: <TData extends TanstackTable.RowData>(table: TanstackTable.Table<TData>): void => { const { setData } = table.options; table.getEditModeRowModel = () => editModeRowsFn(table, table.getRowModel()) table.setRowOnEditMode = updater => table.options.onEditModeChange?.(updater) table.resetEditMode = defaultState => table.setRowOnEditMode(defaultState ? {} : table.initialState.editMode ?? {}) table.addRow = row => { setData!((old) => [...old, row]); }; },
0 Replies