Я немного запутался, потому что в ваших двух случаях clearable
является необязательным или обязательным в ClearableProps
. Я полагаю, вы имеете в виду, что это требуется в обеих версиях, верно? В любом случае, я предполагаю, что.
Это похоже на известную ошибку, microsoft / TypeScript # 31618 . Параметр обратного вызова value
не набирается контекстуально , когда обратный вызов назначен свойству onSelect
с типом объединения. Когда вы явно различаете объединение, задавая clearable
, проблема исчезает.
Эта проблема находится в очереди, поэтому вряд ли она будет решена в ближайшее время.
Вы можете обойти это по явной аннотации типа value
:
const ImplicitlyNotClearable = <Select value="abc" onSelect={(value: string) => { }} />;
, что не самое лучшее, но по крайней мере это что-то.
Хорошо, надеюсь, это поможет; удачи!
Детская площадка ссылка на код