Dijit可视化组件——Tree(一)

在Web项目中,客户对前端的展示要求越来越高,并逐步向桌面应用靠拢。Html语言本身的基础元素已经很难满足项目中的要求,致使在开发中,经常需要使用Html、JavaScript和CSS组合完成页面元素的展示,这无疑增加了开发周期和人力成本。而且由于缺乏专人的维护,这些页面元素难以复用。基于上述状况,本人急需学习一个成熟的、稳定的,包含可见组件的JS框架,然后就开始Google、BaidDu,查找资料,并最终倾心于Dojo,然后就有了本文。

Dijit 组件是 Dojo 提供的图形用户界面组件库。它提供了 Ajax 应用开发中会用到的常用组件,可以帮助开发人员快速的构建 Ajax 应用。本博将陆续介绍Dijit的常用组件,今天就先从树(Tree)开始。

1、Tree的展示

1.1创建展示数据源dijit.tree.ForestStoreModel。

var tData={identifier:"id",
			label:"label",
			items:[
				{id:"1",label:"第一章",type:"chapter",sections:[
					{id:"1-1",label:"第一节",type:"section",pragrams:[
						{id:"1-1-1",label:"第一段",type:"p"},
						{id:"1-1-2",label:"第二段",type:"p"},
						{id:"1-1-3",label:"第三段",type:"p"}
					]},
					{id:"1-2",label:"第二节",type:"section"},
					{id:"1-3",label:"第三节",type:"section"},
				]},
				{id:"2",label:"第二章",type:"chapter",sections:[
					{id:"2-1",label:"第一节",type:"section"},
					{id:"2-2",label:"第二节",type:"section"},
					{id:"2-3",label:"第三节",type:"section"},
				]},
				{id:"3",label:"第三章",type:"chapter",sections:[]},
				{id:"4",label:"第四章",type:"chapter",sections:[]},
				{id:"5",label:"第五章",type:"chapter"}
			]
		
		}
		var tStore=new dojo.data.ItemFileReadStore({data:tData});
		var tModel=new dijit.tree.ForestStoreModel({
			store:tStore,
			rootLabel:"目录",
			childrenAttrs:["sections","pragrams"]
		});

1.2 创建包含tree的Div。

<div id="tree" model="tModel" dojotype="dijit.Tree">
</div>

以上代码运行的结果如见图


1.3 改变节点图片格式

很多时候我们需求改变树节点的图片样式,来更形象、生动的展示我们想要传达的信息。要实现这一功能就要对Tree的getClassIcon重写。

首先我们先定义不同节点类型的图片样式:

	<style type="text/css">
		.chapterIcon{
			width:45px;
			height:45px;
			background-image:url(1.png);
		}//章节点样式
		.sectionIcon{
			width:45px;
			height:45px;
			background-image:url(2.png);
		}//小节节点样式
		.pIcon{
			width:45px;
			height:45px;
			background-image:url(3.png);
		}//段落节点样式
	</style>

然后重写getClassIcon方法

<div id="tree" model="tModel"dojotype="dijit.Tree">

                   <scripttype="dojo/method" event="getIconClass"args="item">

                            if(tStore.isItem(item))

                                     returntStore.getValue(item,"type")+"Icon";

                   </script>

         </div>

运行以后的效果

以上就基本完成了dojo中Tree部件的数据展示操作,下节将介绍对Tree节点的增删改,以及拖动操作。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值