gpt4 book ai didi

flex4.5 - 防止选择 Spark 列表中的特定项目

转载 作者:行者123 更新时间:2023-12-04 06:13:16 26 4
gpt4 key购买 nike

我有一个 Spark List,它有一个自定义 itemRenderer用于渲染列表中的每个项目。
我希望防止用户选择(基于某些自定义逻辑)该列表中的项目。

我可以实现这一目标的最佳方法是什么?

以下是我的列表的定义方式:
<s:List id="myList" itemRenderer="com.sample.MyItemRenderer" />
当然,我有一个项目渲染器定义为类 com.sample.MyItemRenderer .

最佳答案

据我所知,项目的选择是由列表单独处理的,所以我会说你可以从那里管理它。我会在列表中的对象上有一个字段,称为“可选择”或类似的东西,当列表项更改时,检查新项目是否实际上是可选择的,如果不是,则您可以选择它清除选择或重置为之前的选择。您可以通过对列表组件上的“更改”事件使用react并在 IndexChangeEvent 上调用“preventDefault”来实现这一点,如下所示:

protected function myList_changingHandler(event:IndexChangeEvent):void {
var newItem:MyObject = myList.dataProvider.getItemAt(event.newIndex) as MyObject;
if(!newItem.selectable) {
event.preventDefault();
}
}

// Jumping ahead ...

<s:List id="myList" changing="myList_changingHandler(event)" // ... continue implementation

MyObject 类的相关部分如下:
public class MyObject {

private var _selectable:Boolean;

public function MyObject(){

}

public function set selectable(value:Boolean):void {
_selectable = value;
}

public function get selectable():Boolean {
return _selectable;
}
}

关于flex4.5 - 防止选择 Spark 列表中的特定项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7539185/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com