Material-Table замените флажки переключателями - PullRequest
1 голос
/ 29 марта 2020

Я использую таблица материалов , чтобы показать некоторые данные, теперь я хочу выбрать одну строку за раз, чтобы передать данные строки другому компоненту, чтобы иметь возможность выбрать несколько строк одновременно это не то, что я ищу, и основное предложение - go для радиокнопки. Так есть ли способ заменить флажок на таблице переключателями или сделать параметр выбора, чтобы разрешить выбор только одной строки за раз?

1 Ответ

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

Согласно документации ваши руки связаны. Но это может сработать:

  1. Добавьте ключ selectedRow к компоненту, который использует MaterialTable
  2. Создайте какой-нибудь метод или функцию, например handleSelection, и передайте его onSelectionChange двигательный Аргументом к этому веселью c является массив, который handleSelection возвращает
  3. Когда пользователь выбирает какую-либо строку, установите selectedRow для этого объекта строки
  4. Если пользователь установит флажок «slelect all» (вверху) слева) - показать уведомление о том, что действие не поддерживается. Если нет способа отменить выбор всех флажков программным путем - отмонтировать и установить монтирование MaterialTable (чтобы сбросить флажки)
  5. Если одна строка уже выбрана, тогда выбирается другая (что делает две выбранные строки) - повторите шаг " 4 "

Я знаю, что это немного сложно, но это лучшее, что я могу себе представить на данный момент

nb Еще одна вещь, которую вы можете сделать (заставить пользователей выбирать только один строка) - скрыть таблицу на множественный выбор и показать сообщение о том, что они могут сделать. Сообщение может быть закрыто. Когда сообщение закрывается, может появиться таблица sh (mount aggain).

Обновление

Просто нашли другой вариант, который может работать для вас. Взгляните на эту страницу в «Простом примере действий». Там у вас есть кнопки вместо флажков. Я начинаю думать, что:

 options={{
   selection: true
 }}

- не правильный вариант для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...