Реагировать MUIDatatable триггер, переходя на другую страницу после нажатия строки - PullRequest
0 голосов
/ 03 марта 2020

У меня есть MUIDataTable, и мне нужно go для нового экрана, когда пользователь щелкает строку. Я хочу разрешить только одну нажатую строку. Это то, что я пробовал:

const options = {
  selectableRows: true,
  selectableRowsOnClick: true,
  onRowClick: useHistory('/app/proposals')
};

Я также пытался использовать useHistory, но не похоже, что щелчок срабатывает.

Определение таблицы простое:

<MUIDataTable
   data={data.hits}
   columns={columns}
   options={options}
/>

Чтобы пояснить, мне не нужно выделять строку. Я хочу go немедленно перейти на другую страницу.

Ответы [ 2 ]

0 голосов
/ 04 марта 2020

Вот как я это реализовал:

const options = {     
    selectableRows: "single", // no multiple rows selection for me  
    selectableRowsOnClick: true,     
    onRowsSelect: function(currentRowsSelected: array, allRowsSelected: array) {      
         let selectedIndex = currentRowsSelected[0].index;         
         setLocalStorage("whatever data I need, based on the selected row"); 
         props.history.push("my_page");    
    },
};

Тогда в определении таблицы:

options={options}
0 голосов
/ 03 марта 2020

Попробуйте использовать useHistory (), как определено в документации

let history = useHistory();

const options = {
  selectableRows: true,
  selectableRowsOnClick: true,
  onRowClick: history.push('/app/proposals')
};
...