Apache Flex as3包含自定义项的平铺列表render添加到selectedIndices

b09cbbtk  于 2022-11-21  发布在  Apache
关注(0)|答案(1)|浏览(193)

我 用 自 定义 渲染 器 创建 了 一 个 TileList 。

<s:BorderContainer
                   id="bcImage"
                   width="120"
                   height="99%"
                   borderVisible="true"
                   borderStyle="solid"
                   borderColor="#B3B3B3"
                   borderWeight="1"
                   cornerRadius="2"
                   backgroundAlpha=".8"
                   backgroundColor="#F8F8FF"
                   dropShadowVisible="true"
                   >



    <mx:Canvas id="cvsImage" width="100%" click="cvsImage_clickHandler(event)">

        <s:HGroup width="100%" paddingBottom="0" paddingTop="5" >
            <s:CheckBox id="cbImgSelect"/>
            <s:Label x="23" y="3" width="82" fontSize="11" fontWeight="normal" text="{data.imDate}"
                     textAlign="right" color="#000000"/>    
        </s:HGroup>  

        <mx:Image id="iconCanvas" x="10" y="20" width="99" height="99" horizontalAlign="center"
                  maintainAspectRatio="true" scaleContent="true"
                  verticalAlign="middle" mouseDown="iconCanvas_mouseDownHandler(event)"
                  >

        </mx:Image>
    </mx:Canvas>

    <s:BorderContainer width="100%" y="124" height="25" bottom="1" left="3" right="3" 
                       backgroundColor="#FFFFFF" id="bcTitre" borderAlpha="0" >
        <s:VGroup width="100%" y="124" height="25" bottom="0" left="0" right="0"
                  paddingBottom="0" paddingTop="0" gap="0" click="iconCanvasLabel_mouseUp(event)">
            <s:Label text="{data.imType}" height="50%" fontSize="10" paddingBottom="1" id="lType"
                     fontWeight="normal" width="99%" textAlign="center" toolTip="{data.imType}"/>
            <s:Label text="{data.imStade}" fontSize="10" textAlign="center" paddingTop="1"
                     fontWeight="normal" width="99%" id="lStade" toolTip="{data.imStade}"/> 

        </s:VGroup>
    </s:BorderContainer>

</s:BorderContainer>

中 的 每 一 个
我 磁 贴 列表 已 启用 allowMultipleSelection
当 通过 单击 或 选择 ( continus 或 not ) 选择 项目 时 , 我 希望 选中 CheckBox , 如果 CheckBox . selected = true , 我 希望 在 所 选 项目 周围 显示 颜色 选择 。
你 能 帮 我 做 那 件 事 吗 ?
顺 祝 商祺

nnsrf1az

nnsrf1az1#

看起来你试图从另一个Angular 解决问题,这是错误的,我想你可以考虑以下方式:

  • 将checkBox的mouseEnabled设置为false,以便所有列表项触发器单击
  • 通过截取changing事件并执行类似以下操作来更改默认选择行为
protected function lst_changingHandler(evt:IndexChangeEvent):void {
        evt.preventDefault();
        var ids:Vector.<int> = (evt.currentTarget as List).selectedIndices;
        (evt.currentTarget as List).selectedIndices = ids.concat(new <int>[evt.newIndex]);
  • 将checkBox的选中状态绑定到渲染器的选中状态

相关问题