File tree Expand file tree Collapse file tree
packages/mantine-react-table Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -164,9 +164,12 @@ export const MRT_EditCellTextInput = <TData extends MRT_RowData>({
164164 value = { value }
165165 { ...( selectProps as MRT_MultiSelectProps ) }
166166 onBlur = { handleBlur }
167- onChange = { ( value ) => {
167+ onChange = { ( newValue ) => {
168168 ( selectProps as MRT_MultiSelectProps ) . onChange ?.( value as any ) ;
169- setValue ( value ) ;
169+ setValue ( newValue ) ;
170+ // Save if not in focus, otherwise it will be handled by onBlur
171+ if ( document . activeElement === editInputRefs . current [ cell . id ] ) return ;
172+ saveInputValueToRowCache ( newValue as any ) ;
170173 } }
171174 onClick = { ( e ) => {
172175 e . stopPropagation ( ) ;
Original file line number Diff line number Diff line change @@ -421,6 +421,30 @@ export const EditMultiSelectVariant = () => {
421421 ) ;
422422} ;
423423
424+ export const EditMultiSelectVariantModal = ( ) => {
425+ const [ tableData , setTableData ] = useState ( data ) ;
426+
427+ const handleSaveRow : MRT_TableOptions < Person > [ 'onEditingRowSave' ] = ( {
428+ exitEditingMode,
429+ row,
430+ values,
431+ } ) => {
432+ tableData [ + row . index ] = values ;
433+ setTableData ( [ ...tableData ] ) ;
434+ exitEditingMode ( ) ;
435+ } ;
436+
437+ return (
438+ < MantineReactTable
439+ columns = { multiSelectColumns }
440+ data = { tableData }
441+ enableEditing
442+ enableRowActions
443+ onEditingRowSave = { handleSaveRow }
444+ />
445+ ) ;
446+ } ;
447+
424448export const EditSelectVariant = ( ) => {
425449 const [ tableData , setTableData ] = useState ( data ) ;
426450
You can’t perform that action at this time.
0 commit comments