Возможно ли предоставить «Другие» в качестве опции, которая всегда должна отображаться как самовнушение, для поиска ANTD

#antd

#antd

Вопрос:

Возможно ли предоставить «Другие» в качестве опции для элемента поиска ANTD, который всегда должен отображаться как самовнушение, независимо от введенного текста поиска, и когда мы выбираем «Другие» в поле выбора, должна открыться страница?

Ответ №1:

Вы можете достичь этого, установив значение параметра «Другие» соответствующим образом, а также изменив свою filterOption функцию. Что-то вроде этого:

 let options = [
        <Option 
            value="a"
            key="a"
        >
            a
        </Option>,
        <Option 
            value="b"
            key="b"
        >
            b
        </Option>,
        <Option 
            value="c"
            key="c"
        >
            c
        </Option>,
        <Option 
            value="***control"
            key="***control"
        >
            Others
        </Option>,
];

...

<Select
    onChange={value => value !== "***control" ? setChosenOption(value) : openSomePageOrModal()}
    showSearch
    value={chosenOption}
    filterOption={(input, option) => (option.props.value === "***control") ||
        option.props.children.includes(input)
    }
    >
    <Option value="" key="">Select an option</Option>
    {options}
    </Select>