Как сбросить выпадающий список FluentUI при изменении в другом месте?

#office-ui-fabric #fluent-ui #fluentui-react

#office-ui-fabric #fluent-ui #fluentui-реагировать

Вопрос:

Я использую выпадающий список FluentUI в надстройке reactjs office и хотел бы, чтобы он сбрасывался, когда пользователь вводит совершенно другое текстовое поле. Могу ли я получить ссылку на выпадающий список и вызвать какую-либо функцию сброса?

Это обычный выпадающий список с одним выбором, например:

 return <Dropdown
            placeholder={"Pick a thing"}
            label={"Things"}
            options={ thingOptions }
            onChange={ handleSelectThing }
       >
  

Я видел https://github.com/microsoft/fluentui/issues/5917 но, похоже, это не совсем одно и то же.

Ответ №1:

Я недостаточно реактивно думаю. Решение было довольно простым, когда дело дошло до этого:

 this.state = {
    // other state,
    selectedThing: undefined
}
const selectedThingKey =
      thingOptions.reduce(
        (acc, elt, index) => {
          return acc || (this.state.selectedThing === index amp;amp; elt.key)
        },
        false);
return <Dropdown
        options={ thingOptions }
        onChange={ (ev,op,i) => {
            this.setState({selectedThing: i});
            return handleSelectThing(ev, op, i);
          }
        }
        selectedKey={ selectedThingKey }
        notifyOnReselect={true}
     />