Показать сообщение отдельно
  #2 (permalink)  
Старый 23.02.2022, 13:19
Кандидат Javascript-наук
Отправить личное сообщение для od0201 Посмотреть профиль Найти все сообщения от od0201
 
Регистрация: 07.05.2020
Сообщений: 108

Мне нужен был Ref чтоб получать данные с кнопки, но я эту кнопку разместил внутри DataGrid, получилось эстетичнее чем планировал
<DataGrid
        rows={rows}
        columns={columns}
        components={{
          Toolbar: CustomToolbar,
        }}        
      />

const ExportIcon = createSvgIcon(<path d="M19 12v7H5v-7H3v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zm-6 .67l2.59-2.58L17 11.5l-5 5-5-5 1.41-1.41L11 12.67V3h2z" />, 'SaveAlt',);
function CustomToolbar() {
  const apiRef=useGridApiContext()
  const buttonBaseProps = {
    color: 'primary',
    size: 'small',
    startIcon: <ExportIcon />,
  };
  return (
    <GridToolbarContainer>
      {/* <GridToolbarColumnsButton />      <GridToolbarDensitySelector />      <GridToolbarExport /> */}
      <GridToolbarFilterButton />
      <Button
        {...buttonBaseProps}        
        onClick={()=>saveAsExcel(apiRef.current.getVisibleRowModels())}
      >
        Export XLSX
      </Button>
    </GridToolbarContainer>
  );
}


Вариант с первого поста плох, там создается пустой заголовок, который в конечном итоге виден и отображается в фильтре.

Вопрос о выносе данных за пределы уже созданного элемента остается открытым. Я понимаю что это просто, но как, не могу найти материал...

может я непонятно объясняю. Например есть стандартный <Button /> как мне внутри передать данные наружу (или выполнить функцию)?
Ответить с цитированием