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

Flex4 List项 增加 删除 变色等简单实现

发布时间:2020-12-15 03:47:27 所属栏目:百科 来源:网络整理
导读:示例主要实现以下功能: 1、增加项。 2、删除项。 3、单选条目变色。 4、不选中无法操作。 Mxml如下: ?xml version="1.0" encoding="utf-8"?s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx

示例主要实现以下功能:

1、增加项。

2、删除项。

3、单选条目变色。

4、不选中无法操作。

Mxml如下:

<?xml version="1.0" encoding="utf-8"?>
<s:Application
  xmlns:fx="http://ns.adobe.com/mxml/2009"
  xmlns:s="library://ns.adobe.com/flex/spark"
  xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
<![CDATA[
  import com.XXX.model.Task;
  
  import mx.collections.ArrayCollection;
  
  [Bindable]
  private var _tasks:ArrayCollection = new ArrayCollection();
  
  private function createTask():void {
    _tasks.addItem(new Task(newTaskTI.text,""));
  }
  
  private function deleteSelectedTask():void {
    _tasks.removeItemAt(taskList.selectedIndex);
  }
	
  private function colorTask(color:String):void{
	  //_tasks.getItemAt(taskList.selectedIndex).
	  var _task:Task = _tasks.getItemAt(taskList.selectedIndex) as Task;
	  _task.color = color;
	  this.deleteSelectedTask();
	  _tasks.addItem(_task);
  }
	
  
]]>
</fx:Script>
  <s:Panel title="Todo List" width="100%" height="100%">
    <s:VGroup width="100%" height="100%">
      <s:HGroup width="100%" verticalAlign="middle">
        <s:Label text="New Task"/>
        <s:TextInput id="newTaskTI" width="100%"
          enter="createTask()"/>
        <s:Button label="Create" click="createTask()"/>
      </s:HGroup>
      <s:List id="taskList" width="100%" height="100%"
        labelField="name"
        dataProvider="{_tasks}">
		  <s:itemRenderer>
			 <fx:Component>
				 <s:ItemRenderer>
					 <fx:Script>
						 <![CDATA[
							 override public function set data(value:Object):void {
								 if(value!=null){
									 taskLabel.text = value.name;
									 taskLabel.setStyle("color",value.color);
								 }
						 }
						 ]]>
				     </fx:Script>
					 <s:Label id="taskLabel"  />
				 </s:ItemRenderer>
			 </fx:Component>
			  
		  </s:itemRenderer>
		</s:List>
      <s:HGroup width="100%">
        <s:Button label="Delete" width="100%" height="30"
          enabled="{taskList.selectedItem != null}"
          click="deleteSelectedTask()"/>
		<s:Button label="RedTask" width="100%" height="30"
				  enabled="{taskList.selectedItem != null}"
				  click="colorTask('red')"/>
		<s:Button label="YellowTask" width="100%" height="30"
				  enabled="{taskList.selectedItem != null}"
				  click="colorTask('yellow')"/>
		  <s:Button label="GreenTask" width="100%" height="30"
					enabled="{taskList.selectedItem != null}"
					click="colorTask('green')"/>
		  <s:Button label="BlueTask" width="100%" height="30"
					enabled="{taskList.selectedItem != null}"
					click="colorTask('blue')"/>  
      </s:HGroup>
    </s:VGroup>
  </s:Panel>
</s:Application>

AS编写Model

package com.XXX.model {
  public class Task {
    [Bindable]
    public var name:String;
	public var color:String;
	
	public function Task(name:String,color:String) {
		this.name = name;
		this.color = color;
	}
  }
}

(编辑:李大同)

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

    推荐文章
      热点阅读