加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex如何解决flex滚动条后重新渲染

发布时间:2020-12-15 04:37:07 所属栏目:百科 来源:网络整理
导读:list里面渲染了checkbox,然而 checkbox多了,出现滚动条后,我选中第一个checkbox后,下拉滚动条 就出现了乱选中现象。 用list的itemrenderder把checkbox加入list中,在itemrenderer的Class中加入一个Boolean变量,使用该变量的setter方法判断是否使checkBo


list里面渲染了checkbox,然而 checkbox多了,出现滚动条后,我选中第一个checkbox后,下拉滚动条 就出现了乱选中现象。

用list的itemrenderder把checkbox加入list中,在itemrenderer的Class中加入一个Boolean变量,使用该变量的setter方法判断是否使checkBox显示为被check的状态。
在list数据变化(或初始化)的时候,只需要设置这个变量的值就可以把checkbox设置成check或非check状态了。在滚动条滚动的时候,由于该变量的值是不变的,
因此,你的checkbox也不会变(比如 list被选择行变色的滚动问题)。
? 由于list相关类型(List或DataGrid等)的滚动条的滚动会导致itemrenderer重画,
因此乱选的原因是在于list本身,而不在checkbox,由于list是根据data来滚动重画renderder的,所以只有通过数据的方式来解决这个问题。


下面是一个textInput的例子

<s:Group width="100%" height="100%">

<s:List id="lstFielsInput" width="100%" height="100%" verticalScrollPolicy="auto"itemRenderer="widgets.query2_0.view.FieldInputItemRenderer"

dataProvider="{_fieldListProxy.getData() as ArrayCollection}">

</s:List>

</s:Group>

=========================//渲染器文件========================


<?xml version="1.0" encoding="utf-8"?>
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
?? ??? ??? ??? ?xmlns:s="library://ns.adobe.com/flex/spark" 
?? ??? ??? ??? ?xmlns:mx="library://ns.adobe.com/flex/mx" 
?? ??? ??? ??? ?autoDrawBackground="true">

?? ?<fx:Script>
?? ??? ?<![CDATA[
?? ??? ??? ?import spark.events.TextOperationEvent;

?? ??? ??? ?protected function textinput1_changeHandler(event:TextOperationEvent):void
?? ??? ??? ?{
?? ??? ??? ??? ?data.value = TextInput(event.currentTarget).text;
?? ??? ??? ?}

?? ??? ?]]>
?? ?</fx:Script>

?? ?<s:HGroup width="100%" height="100%">
?? ??? ?<s:Label text="{data.label}" width="60" toolTip="{data.label}"/>
?? ??? ?<s:TextInput change="textinput1_changeHandler(event)"? width="150" text="{data.value}"/>
?? ?</s:HGroup>
</s:ItemRenderer>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读