树组件使用说明

88
2

1505121235 数据达人Lv4

发表于2020-5-22 16:20

楼主
本帖最后由 1505121235 于 2020-5-22 16:29 编辑

1使用说明
1.1 功能入口
在基础组件中,将组件拖入右侧编辑页面
截图202005221627415242.png
1.2 属性设置
截图202005221619424507.png
*1 主题表:选择组件对应的主题表 (必填)
*2 父节点id字段 :选择父节点id字段(必填)
*3 节点id字段 : 选择节点id字段(必填)
4 节点名称字段 :选择节点在树上显示的名称字段,不设置则默认显示id
5 根节点的父节点 : 指定根节点,支持传空
6 叶子节点图标
7 展开图标:非叶子节点展开时的图标
8 收起图标 非叶子节点收起时的图标
9 展开方式,目前支持四种,详细可以查看属性的悬浮提示
10 显示搜索框(搜索框逻辑是从当前选中节点的下一个第一个可见节点开始搜索)
设置好属性以后,点击计算,结果如下图所示。
截图202005221619488157.png
1.3 钻取和相关接口方法
1.3.1 钻取
钻取是针对每一个树节点的onclick事件进行设置的,
在钻取参数中,将树组件的参数名称中@换成$ 可以将被选中的树节点的id值作为参数值进行传递
截图202005221619553229.png
1.3.2 接口
方法名
参数说明
方法说明

getSelectItem(name)name: 对应树组件的代号获取指定树组件被选中节点
getSelectItemId(name)name: 对应树组件的代号获取指定树组件被选中节点的id(如果没有选中的节点会给出提示)
refreshTree(name, expandtype)
name:对应树组件的代号,
expandtype:展开方式
默认1:"def1"
默认2:"def2"
全展开:"allopen"
全收起:"allclose"
重新加载树组件上的所有节点,并根据展开方式进行展开,不传默认使用组件设置的展开方式
refreshChildrenNode(name,itemtxt, refreshalltree)
name: 对应树组件的代号,
itemtxt : 刷新后定位到的节点名称(只能是选中节点和其子节点)
refreshalltree:是否刷新整树
(true 刷新整树)
重新加载树组件上选中节点的父节点的子节点,如果没有选中的节点则刷新整树。
设置itemtxt,传入回填组件的值 ,新增时可以定位到新增的节点,修改时定位到修改的节点,
不设置itemtxt 都定位的是选中的节点

deleteTreeItemByType(name, typefield, type, afterDeleteSelectParentItem)
name: 对应树组件的代号,
typefield : 标识字段
type : 标识字段对应的值
afterDeleteSelectParentItem: 在删除以后是否选择父节点
由于四川项目,删除不删数据,只是隐藏,,树组件还未做过滤条件 ,因此需要一个字段 作为标记字段,对其进行操作控制数据的展示和隐藏,同时需要同步创建一张根据标记字段作为过滤条件的视图


1.2 应用举例
截图202005221620029335.png
树组件的钻取
  1. _zcalcn([['Widget1','HHH15','@p=$p;@a=']]);
  2. //热区式钻取, 参数@p=$p   @p是钻取后使用的参数名 $p 是树组件上的参数名 用$将@替换,在钻取时会将选中节点的id传入
复制代码

新增按钮的钻取
  1. var id = getSelectItemId("HHH5");
  2. id= EUI.isStrEmpty(id) ? "" : id;
  3. _zcalcn([['Widget1','HHH15','@p='+id+';@a=add']]);
  4. //获取到选中节点的id 在新增时 将该节点作为 新节点的父节点
复制代码

保存按钮的钻取
  1. g_rptpage.cmd_saveReportData("",function(){
  2. var value =g_formmgr.rpts.HHH15.childs.HHH40.getValue();
  3. refreshChildrenNode("HHH5", value , true );
  4. });
  5. //先使用表单保存的接口,在回调中是调用刷新接口,
  6. g_formmgr.rpts.HHH15.childs.HHH40.getValue();   
  7. var rpts = g_formmgr.rpts;//结果态表单对象
  8. var container = rpts.HHH15//对象里的表单容器
  9. var input = container.childs.HHH40; //容器子组件里的 回填组件
复制代码



删除按钮的钻取
  1. deleteTreeItemByType("HHH5", "content", "1");
  2. refreshChildrenNode("HHH5","", true);
  3. _zcalcn([['Widget1','HHH15','@p=;@a=']]);
  4. //使用删除接口将 标记字段的值设置为失效 然后刷新节点,并重置回填组件的值
复制代码

重置

  1. var id = getSelectItemId("HHH5");
  2. id= EUI.isStrEmpty(id) ? "" : id;
  3. _zcalcn([['Widget1','HHH15','@p=' + id+';@a=change']]);
  4. //重置回填组件中的值,第一次点击左树节点时的值,如果想重置为空,不传参即可
复制代码



最近看过此主题的会员

弥生

小亿

土豆我是马铃薯

程序小哥哥

香草不是香菜

2个回答

只看楼主

小亿 管理员

发表于2020-5-22 16:50

只看该作者

取消 关注该作者的回复

沙发

感谢大神分享!薏米们有福了~

程序小哥哥 小试身手Lv3

发表于2020-5-22 17:34

只看该作者

取消 关注该作者的回复

板凳

效率了,前几天才看到用户提问,今天教程就出来了~

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

渠道咨询电话:137-0120-6790

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

进群交流、一对一指导

©2020ESENSOFT北京亿信华辰软件有限责任公司版权所有:京ICP备07017321号京公网安备11010802016281号