Как настроить только один вариант из реагировать-выбрать? - PullRequest
0 голосов
/ 19 ноября 2018

Я работаю с act-select и хочу настроить только одну опцию из выпадающего списка. Есть ли такая возможность? Я хотел бы сделать что-то вроде:

const CustomOption = ({ innerRef, innerProps, data }) => data.custom
    ? (<div ref={innerRef} {...innerProps} >I'm a custom link</div>)
    : defaultOne //<--- here I would like to keep default option

    <ReactSelect
        components={{ Option: CustomOption }}
        options={[
            { value: 'chocolate', label: 'Chocolate' },
            { value: 'strawberry', label: 'Strawberry' },
            { value: 'vanilla', label: 'Vanilla' },
            { custom: true },
    ]}
/>

Есть мысли, как этого достичь?

1 Ответ

0 голосов
/ 19 ноября 2018

Вы чувствуете себя хорошо, вы можете достичь своей цели следующим образом:

const CustomOption = props => {
  const { data, innerRef, innerProps } = props;
  return data.custom ? (
    <div ref={innerRef} {...innerProps}>
      I'm a custom link
    </div>
  ) : (
    <components.Option {...props} />
  );
};

const options = [
  { value: "chocolate", label: "Chocolate" },
  { value: "strawberry", label: "Strawberry" },
  { value: "vanilla", label: "Vanilla" },
  { custom: true }
];

function App() {
  return <Select components={{ Option: CustomOption }} options={options} />;
}

Важно отметить, что все свойство props передается в components.Option для поведения по умолчанию.

Здесь живой пример .

...