[Data] Ext tree点击后传入参数修改.

[ 466 查看 / 11 回复 ] 相关帖子

Ext tree点击后传入参数修改.

默认传入的是node=node的ID,我想问问如果我要传入别的参数.比如我要改成:comp.id=node的ID.是添加listeners还是怎么做.谢谢.
分享 转发
www.zendlab.com
TOP

Ext tree点击后传入参数修改.

还有我现在是动态加载.root:new Ext.tree.AsyncTreeNode()
www.zendlab.com
TOP

Ext tree点击后传入参数修改.

将tree的befoerload事件中,将相关参数赋给tree.getLoader().baseParams

listeners:{
  "beforeload" : function(node){
    tree.getLoader().baseParams = {np : node.attribute.nodetype , id : node.id};
    tree.getLoader().baseParams[comp.id] = node.id;
    ...
  }
}
(Love me) && (Love my bug);
TOP

Ext tree点击后传入参数修改.

好早啊!
TOP

Ext tree点击后传入参数修改.

回复 3# 上上千 的帖子

错误: node.attribute is undefined源文件:http://localhost080/Extjs/js/comp.js
行:833
为什么我用alert(node.id);有值且正常,但我用你上面的代码的时候却报上面的错误呢.
www.zendlab.com
TOP

Ext tree点击后传入参数修改.

应该是node.attributes,少写了一个s。
TOP

Ext tree点击后传入参数修改.

是少写了个s,不好意思,不过后边的nodetype是我自己定义的,你没定义的话应该也没有,这个要跟据你自己的来。
(Love me) && (Love my bug);
TOP

Ext tree点击后传入参数修改.

回复 7# 上上千 的帖子

我现在相当关心的是我的树在初始的时候会向后台传一个参数:node=ynode-9;我不知道这个是怎么来的,再者
  1. listeners:{
  2.            'expandnode':function(node,e){
  3.                comp_menu.getLoader().baseParams={'comp.id': node.id};
  4.            }
  5.        }
复制代码
第一次点击节点:770a1ee8-05a7-42aa-b262-d5c5e78ec184传入的数据:
comp.id    ynode-9
node    770a1ee8-05a7-42aa-b262-d5c5e78ec184 这个才是comp.id所需真正数据
第二次点击节点:770a1ee8-05a7-42aa-b262-d5c5e78ec150传入的数据:
comp.id    770a1ee8-05a7-42aa-b262-d5c5e78ec184
node    770a1ee8-05a7-42aa-b262-d5c5e78ec150 这个才是comp.id所需真正数据

请问如何处理
www.zendlab.com
TOP

Ext tree点击后传入参数修改.

  1. var comp_menu = new Ext.tree.TreePanel({
  2.         title:'目录树',
  3.         lines:true,
  4.         split:true,
  5.         border:false,
  6.         autoScroll:true,
  7.         rootVisible:false,
  8.        //singleExpand:true,
  9.         collapseMode:'mini',
  10.         loader:comp_loader,
  11.        root:new Ext.tree.AsyncTreeNode({
  12.            id:''
  13.        }),
  14.        listeners:{
  15.            'beforeload':function(node,e){
  16.                comp_menu.getLoader().baseParams={'comp.id': node.id};
  17.            }
  18.        }
  19.     });
复制代码
www.zendlab.com
TOP

Ext tree点击后传入参数修改.

你应该是哪个节点没给id吧
(Love me) && (Love my bug);
TOP

Ext tree点击后传入参数修改.

回复 10# 上上千 的帖子

后台的时候我将根节点设置了ID,这样第一次点击的时候传入的就是根的ID了,但是这样还是差了一次啊。感觉是点击前就向后台传了数据,点击之后才将要传入的值给了loader
www.zendlab.com
TOP

Ext tree点击后传入参数修改.

回复 10# 上上千 的帖子

不知为什么,我把事件不写到listeners中,而在外面绑定就行了。郁闷。
www.zendlab.com
TOP