Проблем с рендеринга на елементи във Flex Dropdownlist?

Използвам компонент Spark DropDownlist. Искам да запазя размера на родителския компонент (където се показва избраният елемент) малък, но когато потребителят се опита да избере елемент, полето, което се показва с изборите, искам да е голямо така че да съдържа всички елементи и ако даден елемент е по-голям от размера на родителския компонент, в който той все още се побира и потребителят няма да трябва да прави хоризонтално превъртане. Опитах се да използвам инструмент за изобразяване на елементи с различни ширини, но той включва хоризонтално превъртане на изборите. Ако деактивирам хоризонталното превъртане на родителския компонент (т.е. s:dropdownlist), тогава изборите, които се показват, са ограничени, имам предвид, че част от текста не се показва. Можете ли да предложите възможно решение за това?


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


Отговори (2)


Току-що го поправих сам.

По принцип създадох потребителска кожа за падащия списък и в персонализирания списък посочих това свойство popupWidthMatchesAnchorWidth="false' за компонента PopupAnchor. и след това създадох инструмент за изобразяване на елементи с ширината, от която се нуждаех, и той проработи.

Забележка: създадох персонализираната кожа за dropdownlist въз основа на съществуващия sking на 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