avalonjs 树组件递归渲染后无法获取预期数据
问题描述
树组件递归显示后,无法正常获取勾选的数据(duplex失效了一样)
问题出现的环境背景及自己尝试过哪些方法
想通过双工duplex的形式,勾选的数据自动存放到数组中,在其他demo中,没问题,但是在树(通过递归:html)上面,失效了
相关代码
// 自己定义了一个组件
<ms-tree :widget="{url: @url, showCheck: true, onReady: treeReady}"></ms-tree>
// 下面是组件的html
<ul>
<li :for="(@index, @el) in @tree">
<input type="checkbox" ms-attr="{value:@el.id}" data-duplex-changed="@selectOneFun(@el)" ms-duplex="@selected"/>
<span :click="@openSubTree(el)" :class="[changeIcon(el)?'floder':'file']"></span>
{{el.name}}
<div :visible="@el.open" :html="@renderSubTree(@el)">
</div>
</li>
</ul>
// 所有勾选的数据都把节点的id存放到selected数组中,每次勾选操作都会调用selectOneFun方法
// 下面是基本方法
// select
getSelected: function () {
alert(this.selected)
return this.selected
},
selectOneFun: function (e) {
alert(e.id)
// 直接push进数组,上面的getSelected方法都获取不到
// this.selected.push(e.id)
},
renderSubTree: function (el) {
return "<ms-tree :widget='{tree: @el.subTree}'></ms-tree>"
}
你期待的结果是什么?实际看到的错误信息又是什么?
每次勾选,通过getSelected方法可以获取所有勾选的节点id值,可以实际却只有第一个节点可以获取到,其他节点(通过递归生成的)都获取不到,即使直接push进selected中,getSelected方法都获取不到。就觉得特奇怪,希望大神能指点一下,带上截图
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论