使用了dojo102的新版树形结构组件,发现和原来的版本差别十分巨大(无论是在实现还是在使用上)
很多以前方便的方法都被去掉了,只能自己修改源代码了……
先说一下在新版树结构中添加复选框的方式:
在这里添加的复选框类型是dijit.form.CheckBox类型。
首先我继承出一个新的treeNode类型的widget:
在template中添加了存放复选框的div:
现在contentNode部分变成了:
"<div dojoAttachPoint=/"contentNode/" class=/"dijitTreeContent/" waiRole=/"presentation/">/n/t/t",
" <div dojoAttachPoint=/"iconNode/" class=/"dijitInline dijitTreeIcon/" waiRole=/"presentation/">",
"</div>/n/t/t",
"<span dojoAttachPoint=/"boxNode/" class=/"dijitTreeLabel/" wairole=/"treeitem/" >",
"</span>/n/t",
"<span dojoAttachPoint=/"labelNode/" class=/"dijitTreeLabel/" wairole=/"treeitem/" tabindex=/"-1/">",
"</span>/n/t",
"</div>/n",
红色的部分就增加的。
然后在postCreate方法中增加CheckBox:
box =new dijit.form.CheckBox(param);
this.boxNode.appendChild(box.domNode);
其中param是创建CheckBox的一些参数。
这样,就可以将复选框增加到树节点前面了。