Сделайте опцию "реакция-выбор" недоступной для поиска

Я использую response-select и имею один вариант с пустым именем и значением not set, а другой - с именем и значением notification. Это означает, что мой массив параметров выглядит примерно так (хотя и со многими другими параметрами):

const options = [
  {
    label: '',
    value: 'not set'
  },
  {
    label: 'Notification',
    value: 'notification'
  }
];

Из-за этого, когда пользователи ищут вариант уведомления, они часто просто набирают not, а затем им показывают пустую опцию.

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


person Brady Dowling    schedule 26.08.2019    source источник


Ответы (1)


Я рекомендую вам использовать реквизит filterOption для достижения вашей цели. Подробнее о том, как его использовать, можно узнать здесь.

Вы можете выбрать фильтрацию по label только вместо value или добавить ключ для каждой доступной для поиска опции, например:

const options = [
  {
    label: '',
    value: 'not set',
    searchable: false
  },
  {
    label: 'Notification',
    value: 'notification',
    searchable: true
  }
];

// your custom filterOption function
 filterOption = ({ label, value, data }, string) => {
    if (string && data.searchable) {
      return label.includes(string) || value.toString().includes(string);
    } else {
      return true;
    }
  };
person Laura    schedule 27.08.2019