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

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

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

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

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


person unhammer    schedule 16.11.2020    source источник


Ответы (1)


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

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