Проблема выпадающего списка Flex Dropdownlist? - PullRequest
1 голос
/ 09 января 2011

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

Ответы [ 2 ]

1 голос
/ 09 января 2011

Я просто исправил это сам.

По сути, я создал customskin для выпадающего списка и в этом списке я указал это свойство popupWidthMatchesAnchorWidth = "false" для компонента PopupAnchor, а затем я создал itemrenderer с помощьюширина, в которой я нуждался, и это работало.

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

0 голосов
/ 07 декабря 2011

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

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

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

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

<s:Group id="dropDown" maxHeight="184" minHeight="22" minWidth="{hostComponent.width}">
...