diff --git a/types/react-bootstrap-table-next/index.d.ts b/types/react-bootstrap-table-next/index.d.ts index 0f35efa01a..5db7cd4f40 100644 --- a/types/react-bootstrap-table-next/index.d.ts +++ b/types/react-bootstrap-table-next/index.d.ts @@ -108,8 +108,9 @@ export type ColumnFormatter = ( export type ColumnDescription = ( | { isDummyField: true; dataField?: string; formatter?: ColumnFormatter } - | { dataField: T[keyof T] | string; formatter?: ColumnFormatter } + | { dataField: T[keyof T] | string } ) & { + formatter?: ColumnFormatter; hidden?: boolean; /** * Column header field diff --git a/types/react-bootstrap-table-next/react-bootstrap-table-next-tests.tsx b/types/react-bootstrap-table-next/react-bootstrap-table-next-tests.tsx index d5008cb309..6b61284837 100644 --- a/types/react-bootstrap-table-next/react-bootstrap-table-next-tests.tsx +++ b/types/react-bootstrap-table-next/react-bootstrap-table-next-tests.tsx @@ -83,6 +83,48 @@ render( document.getElementById('app'), ); +/** + * Inline untyped columns test + */ +render( + Dummy Field, + text: 'Dummy Columns', + }, + { + dataField: 'price', + sort: true, + formatter: priceFormatter, + text: 'Product Price', + headerFormatter: priceHeaderFormatter, + }, + /** + * test optional dataField for dummyFields + */ + { + isDummyField: true, + sort: true, + formatter: priceFormatter, + text: 'Product Price', + headerFormatter: priceHeaderFormatter, + }, + ]} + />, + document.getElementById('app'), +); + /** * Basic table with custom data indicator and caption */