Kendo UI Javascript重绘TreeView不渲染
Kendo UI Javascript redraw of TreeView not rendering
创建并渲染剑道UI树视图以填充DIV后,重复调用交替地仅呈现"加载..."或工作正常。由于我在使用Kendo UI ContextMenu时可能遇到类似的问题,因此我推测两者之间可能有一些必要的清理,这是通过甚至调用被动完成的,例如奇怪的调用起作用,但我无法弄清楚(指向Kendo UI文档的链接我可能缺少,以便我可以理解为什么我错过了这个,以帮助解决其他问题)。
在我的 JSFiddle 示例中,一遍又一遍地单击"绘制",您将看到替代行为。投机地点击"画,毁,画,毁..."似乎无济于事。
https://jsfiddle.net/rk3nfnnu/
<script>
function TreeDestroy() { // http://stackoverflow.com/questions/5431351
$('#Tree_Space').data('kendoTreeView').destroy();
alert('destroyed');
}
function TreeShow() {
$('#Tree_Space').kendoTreeView({
dataSource: [ { Name: 'Top', items: [ { Name:'Item' } ] } ],
template: kendo.template($('#Tree_template').html())
});
alert('shown');
}
</script>
<a href="#" onclick="TreeShow(); return false;">draw</a> |
<a href="#" onclick="TreeDestroy(); return false;">destroy</a>
<div id='Tree_Space'>
</div>
<script type='text/x-kendo-template' id='Tree_template'>
#= item.Name#
</script>
我已经更新了那个小提琴。销毁();方法可能只在呈现小部件(节点)后销毁分配的 DOM 元素。我怀疑它清理了包装纸之类的东西。在您的TreeDestroy()
中,对该元素div发出清除。当然,你应该在 TreeCreate 之前调用 TreeDestroy,以防万一。
function TreeDestroy() { // http://stackoverflow.com/questions/5431351
$('#Tree_Space').data('kendoTreeView').destroy();
$('#Tree_Space').html('');
alert('destroyed');
}
以下是一些 kendoui 文档,其中提到了如何处理手动删除小部件。
相关文章:
- 当我在节点上拖动鼠标时,我如何防止使用d3.ehavior.zoom().on(“缩放”,重绘)
- EXTJS-图表刷新,重绘-如何更新图表
- 为什么JavaScript对话框(警告、确认)会停止页面重绘
- 我在画布中的鼠标按下函数在调用时不会重绘背景
- 重绘对象时如何清除屏幕
- 在方形空间 (YUI) 上重绘元素时出现问题
- 是否可以在浏览器中检测重绘/重排
- 悬停时更改webkit滚动条宽度时出现重绘问题
- 反应:状态更改是否会导致整个组件被重绘
- 如何在 OpenLayers 3 中隐藏和显示功能?(重绘?
- 清除画布玩家路径 - 重绘关卡数组
- CSS js 在鼠标移动重绘时不会消失
- 使用变量更新剑道图表系列的数据会导致重绘将列从图表上绘制出来
- 重绘后悬停在 ChartJS 条形图上的问题
- 确保 Ionic Angular UI 在启动处理器密集型任务之前已重绘
- 窗口滚动 Y = 0 在高图表重绘()
- 高图表 - 柱形图重绘动画
- 高图表 - 重绘空图表
- Craftyjs 在窗口大小调整时重绘
- Kendo UI Javascript重绘TreeView不渲染