Flex 4从spark DropDownList中删除所选项目
我的利益相关者请求从应用程序的 DropDownList 控件中删除当前选定的项目。例如,带有 [item1, item2, item3, item4] 的下拉列表,如果选择了 item2,则下拉列表中的唯一项目将是 [item1, item3, item4]
关于这是否可能以及如何实现的任何想法真的会很感激。
提前致谢。
将 Flash Builder 4 与 Flex 4.0 sdk 结合使用
My stakeholder has a request to remove the currently selected item from the DropDownList control(s) in the application. For example a drop down with [item1, item2, item3, item4] if item2 is selected then the only items in the drop down will be [item1, item3, item4]
Any thoughts on if this is possible and if so how to implement it would really be appreciated.
Thanks in advance.
Using Flash Builder 4 with Flex 4.0 sdk
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
只要您的下拉列表使用 ArrayCollection 作为数据提供者,您就可以指定一个过滤函数来删除当前选定的条目:
我认为这应该过滤掉您选定的项目:)
As long as your dropdown list uses an ArrayCollection as a data provider, you can specify a filter function to remove the current selected entry:
I think this should filter out your selected item :)
无需自定义蒙皮。只需为 dropdownList 创建一个新的 ItemRenderer,并在父项的更改事件中,如果
parent.selectedItem = data
,则将visible
和includeInLayout
设置为 false。为了避免创建全新的 itemrenderer,您可以扩展 Spark 的“defaultItemRenderer”类。如果您使用 MXML itemrenderer,只需设置visible="{data != (parent as DropDownList).selectedItem}"
,它就应该绑定。如果没有,也可以在活动中这样做。No custom skinning needed. Just create a new ItemRenderer for your dropdownList and on the the parent's change event, set
visible
andincludeInLayout
to false ifparent.selectedItem = data
. To avoid creating a brand new itemrenderer, you could potentially just extend spark's "defaultItemRenderer" class. If you use an MXML itemrenderer, simply setvisible="{data != (parent as DropDownList).selectedItem}"
, it should bind. If not, do it on an event as well.