Отмена раскрывающегося списка компонентов Office-UI-Fabric React

У меня проблема с очисткой выбора в раскрывающемся списке. Иногда мне приходится убирать выбор из раскрывающегося списка, так как популяция опций меняется. Если длина новой опции меньше, чем предыдущая, то точки выбора выходят за пределы диапазона, что дает ошибку.

Простой пример: (См.: [https://developer.microsoft.com/en-us/fabric#Variantsprovided[1pting)

<Dropdown
              selectedKey={ selectedItem && selectedItem.key }
              onChanged={ item => this.setState({selectedItem: item}) }
              options={
                [
                  { key: 'A', text: 'Option a' },
                  { key: 'B', text: 'Option b' },
                ]
              }
/>

Единственное, о чем я могу думать, это то, что, возможно, управляю selectedKey, то есть устанавливаю selectedItem.key на null / undefined, чтобы очистить его, но мне не повезло с этим решением ..


person Nikola Sevo    schedule 13.11.2017    source источник
comment
такая же проблема здесь ... есть решение?   -  person Miguel Lima    schedule 06.12.2017
comment
Да, извините, я отправлю более подробный ответ через час или около того. Просто убедитесь, что ваш ключ равен NULL и параметры изменены перед рендерингом. Моя проблема заключалась в моем миксе и / или отсутствии знаний о mobx и о том, как он запускает рендеринг.   -  person Nikola Sevo    schedule 06.12.2017


Ответы (1)


Проблема заключалась в том, что я не менял свои параметры и выбранный идентификатор одновременно. Что я сделал, так это то, что я связал каждое раскрывающееся меню с объектом:

// ...async call .then( (newFruits) => ...
this.fruits = {
  selectedId: null,
  options: ['My','newly', 'fetched','fruits','array']
};

... где фрукты будут вашим наблюдаемым массивом.

<Dropdown
    selectedKey={ fruits && fruits.selectedId }
    onChanged={ this.myFuncThatCallsApiWithNewId }
    options={fruits.options}
/>

person Nikola Sevo    schedule 06.12.2017