【发布时间】:2016-06-20 11:50:02
【问题描述】:
我正在开发一个使用 HTML5 的 KendoUI 的项目。我注意到图表小部件中的一个错误,其中 setOptions() 始终无法正常工作。这是重新创建错误的 sn-p。
基本上,上面的 sn-p 创建一个包含一些随机数据的图表。我还有一个复选框,用户可以在其中启用/禁用缩放和平移图表。最初创建的图表没有可缩放/可平移集。
见效:
<!DOCTYPE html>
<html>
<head>
<base href="https://demos.telerik.com/kendo-ui/bar-charts/pan-and-zoom">
<style>
html {
font-size: 14px;
font-family: Arial, Helvetica, sans-serif;
}
</style>
<title></title>
<link rel="stylesheet" href="//kendo.cdn.telerik.com/2016.2.607/styles/kendo.common-material.min.css" />
<link rel="stylesheet" href="//kendo.cdn.telerik.com/2016.2.607/styles/kendo.material.min.css" />
<link rel="stylesheet" href="//kendo.cdn.telerik.com/2016.2.607/styles/kendo.default.mobile.min.css" />
<script src="//kendo.cdn.telerik.com/2016.2.607/js/jquery.min.js"></script>
<script src="//kendo.cdn.telerik.com/2016.2.607/js/kendo.all.min.js"></script>
</head>
<body>
<div id="example">
<div class="box wide">
<input type="checkbox" id="eq1" class="k-checkbox">
<label class="k-checkbox-label" for="eq1">Enable Zoom</label>
<p id="para">Use SHIFT + Mouse Drag Region Selection combination on mouse-enabled devices to zoom in data for a specific period of time</p>
</div>
<div class="demo-section k-content wide">
<div id="chart"></div>
<div id="log" style="
height: 120px;
overflow: scroll;
padding: 20px;
border: 1px solid black;">
</div>
</div>
<script>
// Sample data
var data = [];
for (var i = 0; i < 50; i++) {
var val = Math.round(Math.random() * 10);
data.push({
category: "C" + i,
value: val
});
}
function createChart() {
$("#chart").kendoChart({
renderAs: "canvas",
dataSource: {
data: data
},
categoryAxis: {
min: 0,
max: 10,
labels: {
rotation: "auto"
}
},
series: [{
type: "column",
field: "value",
categoryField: "category"
}]
});
}
$(document).ready(createChart);
$("#example").bind("kendo:skinChange", createChart);
$("#eq1").click(function(e) {
if (this.checked) {
setZoom({
pannable: {
lock: "y"
},
zoomable: {
mousewheel: {
lock: "y"
},
selection: {
lock: "y"
}
}
});
} else {
setZoom({
pannable: false,
zoomable: false
});
}
});
function setZoom(obj) {
try {
$("#chart").data("kendoChart").setOptions(obj);
} catch (ex) {
$('#log').append($('<div/>').text("Error : " + ex.message + "\n" + ex.stack + "\n"));
}
}
</script>
</div>
</body>
</html>
在用户与复选框(左上角)交互时,使用框架中可用的 chart.setOptions() 方法设置图表的可缩放和可平移属性。如果“运行代码片段”不起作用,请按照以下步骤操作,您可以看到正在运行的错误。
第 1 步:将上面的 sn-p 复制到 http://dojo.telerik.com/ 的编辑器中 第二步:运行代码。 (结果创建了一个图表)
第 3 步:勾选复选框以启用图表缩放。 (在 x 轴上设置可缩放和可平移属性,以便图表现在可以缩放和平移)
第 4 步:取消选中复选框以禁用图表缩放。 (pannable 被禁用,但图表仍然可以缩放。-这是错误)
第 5 步:再次勾选复选框,您将看到图表下方显示的错误。
如果有人知道如何解决这个问题。如果这是 KendoUI 的错误,那么希望 Kendo 开发团队得到这个。
【问题讨论】:
标签: kendo-ui kendo-chart