Проблема с модулем визуализации элементов выпадающего списка Flex?

Я использую компонент Spark DropDownlist. Я хочу, чтобы размер родительского компонента (где отображается выбранный элемент) был маленьким, но когда пользователь пытается выбрать элемент, появляется поле с вариантами, которые я хочу, чтобы он был большим чтобы он содержал все элементы, и если элемент больше, чем размер родительского компонента, он все еще вписывается, и пользователю не нужно будет выполнять горизонтальную прокрутку. Я пробовал использовать средство визуализации элементов с разной шириной, но оно приводит к горизонтальной прокрутке вариантов. Если я отключу горизонтальную прокрутку в родительском компоненте (например, s: dropdownlist), то отображаемые варианты будут обрезаны, я имею в виду, что некоторый текст не отображается. Не могли бы вы предложить возможное решение для этого?


person Rajat    schedule 09.01.2011    source источник


Ответы (2)


Я просто починил сам.

В основном я создал customkin для выпадающего списка, а в настраиваемом списке я указал это свойство popupWidthMatchesAnchorWidth = "false" для компонента PopupAnchor. А затем я создал средство визуализации элементов с необходимой мне шириной, и это сработало.

Примечание: я создал настраиваемую обложку для выпадающего списка на основе существующего скина Spark downdownlist и только что изменил это свойство.

person Rajat    schedule 09.01.2011

Я не знаю, засчитывается ли это, но вы можете поместить свое решение в открытое событие вот так:

<dropdown open="event.currentTarget.skin.popUp.popUpWidthMatchesAnchorWidth = false;"/>

без создания кожи. Если вы попытаетесь вызвать его при завершении создания, всплывающее окно еще не создано, и вы получите сообщение об ошибке. Я заметил небольшую вспышку в месте обновления раскрывающегося списка. Но это отладочная сборка, и она настолько незначительна, что может не быть заметна в выпускной сборке.

Дополнение: я все-таки использую скин, поскольку содержимое меняется динамически, оно может быть меньше раскрывающегося списка. Итак, я заметил, что когда для popUpWidthMatchesAnchorWidth установлено значение false, ширина всплывающего окна по умолчанию равна 140 или что-то в этом роде. Чтобы исправить это, я добавил привязку к ширине списка, чтобы всплывающее окно всегда было не меньше, чем список, и расширялось, когда это необходимо. Для этого добавьте свойство minWidth в раскрывающийся список в раскрывающемся скине следующим образом:

<s:Group id="dropDown" maxHeight="184" minHeight="22" minWidth="{hostComponent.width}">
person 1.21 gigawatts    schedule 06.12.2011