Попробуйте вставить в код B состояние внутри метода constructor (), например, так:
constructor(){
super();
this.state = { dateString: moment() }
}
Я обычно не использую плавающее состояние в классе, я всегда помещаю его в конструктор .
Мне нравится виджет Автоматического заполнения UI Yahoo. Это не обеспечивает выпадающее исходно, но кнопка раскрытия списка может быть добавлена с несколькими строками кода.
ExtJS имеет очень мощное поле комбинированного списка, которое обеспечивает выпадающий, автоматическое заполнение и фильтрация выбора. Можно также включить разбиение на страницы,
Существует много расширений, которые обеспечивают дополнительные возможности, такие как мультивыбор стиля Facebook, или мультивыбирают флажки.
Конечно, автоматическое заполнение и поля комбинированного списка служат двум подобным, но различным целям:
Сколько объектов Вы имеете в своем списке?
Это - конечно, субъективный вопрос, но у меня есть хорошие события в с Script.aculo.us's autocompleter (документы API здесь). Это было вокруг долгое время, поддержка браузера превосходна, можно настроить стиль и т.д.
Обратите внимание, что Script.aculo.us зависит от Прототипа.