Struts2 tree treenode怎么添加自己的图片

Struts2 tree 使用很简单,下面是我用的静态树的,用了freemarker模版,全都是struts2的标签.代码如下:
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"]/>

<html>
<head>
<title>Tree标签的例子 - 静态树的例子</title>
<@s.head theme="ajax" debug="true" />
</head>
<body>

<div style="float:left; margin-right: 50px;">
<@s.tree label="管理系统" id="parentId" theme="ajax"
templateCssPath="/struts/tree.css"
showRootGrid="true" showGrid="true">
<@s.treenode theme="ajax" label="用户管理" id="user">
<@s.treenode theme="ajax" label="<a href='view.action'>登录</a>" id="login" />
<@s.treenode theme="ajax" label="<a href='listUser.action'>查看用户信息</a>" id="userinfo" />
</@s.treenode>
</@s.tree>
</div>

</body>
</html>

运行效果如图:
[img]http://www.iteye.com/upload/attachment/44014/7bb60cb6-d4a5-3a7a-b0fc-200b78fdca2c-thumb.jpg?1224638667[/img]

但是我想在菜单前添加自己想添加的图片,,这样的效果,如图
[img]http://www.iteye.com/upload/attachment/44018/3a3e1e7a-6995-3e3d-b16a-9e09c338561c.bmp[/img]

没有找到对应的属性,弄了好久都没有进展,我该怎么样添加呢???谢谢大家
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过以下步骤实现: 1. 在源 Tree 的 onSelect 方法中获取选中的节点数据,保存到状态中。 2. 在目标 Tree 的 onDrop 方法中,获取拖拽后的节点数据,将其添加到目标 Tree 中,并根据保存在状态中的节点数据设置选中状态。 具体实现代码如下: ```jsx import { Tree } from 'antd'; const { TreeNode } = Tree; class SourceTree extends React.Component { state = { selectedNode: null, }; onSelect = (selectedKeys, info) => { this.setState({ selectedNode: info.node.props.data }); }; render() { return ( <Tree onSelect={this.onSelect}> <TreeNode key="sourceNode" title="Source Node" data="sourceData" /> </Tree> ); } } class TargetTree extends React.Component { state = { selectedKeys: [], nodes: [], }; onDrop = (info) => { const { nodes } = this.state; const { data } = info.node.props; nodes.push(data); this.setState({ nodes }, () => { const { selectedNode } = this.props; if (selectedNode) { const selectedKeys = nodes.reduce((keys, node, index) => { if (node === selectedNode) { keys.push(index.toString()); } return keys; }, []); this.setState({ selectedKeys }); } }); }; renderTreeNode = (node, index) => { return ( <TreeNode key={index} title={node.title} data={node.data}> {node.children.map(this.renderTreeNode)} </TreeNode> ); }; render() { const { nodes, selectedKeys } = this.state; return ( <Tree onDrop={this.onDrop} selectedKeys={selectedKeys}> {nodes.map(this.renderTreeNode)} </Tree> ); } } class App extends React.Component { render() { const { selectedNode } = this.state; return ( <div> <SourceTree /> <TargetTree selectedNode={selectedNode} /> </div> ); } } ``` 在上面的代码中,SourceTree 组件只包含一个节点,用于展示源树。 TargetTree 组件包含多个节点,用于展示目标树。在 onDrop 方法中,将拖拽后的节点数据添加到 nodes 状态中,并根据 selectedNode 状态设置选中状态。renderTreeNode 方法用于递归渲染树节点。 App 组件用于渲染 SourceTree 和 TargetTree 组件,并将 selectedNode 作为 props 传递给 TargetTree 组件。 注意:这里只是一个简单的示例,实际场景中可能需要根据具体需求进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值