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]);
};
},
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]);
};
},