如何自定义kendo步?
How to customize kendo step?
我想动态更改 KENDO UI 向导步骤。
例如,通过每一步更改图标背景颜色和标题。
我试图搜索文档,但找不到正确的答案。
如何在每个步骤中添加一个 Id 或属性?
我尝试更改标题属性,但它无法正常工作。
有没有办法自定义向导以动态步进?
我将不胜感激任何帮助。
谢谢
<div id="wizard"></div>
<script>
$("#wizard").kendoWizard({
steps: [{
title: "ONE",
content: "Step 1 Content"
}, {
title: kendo.template($("#stepTemplate").html()),
error: true,
content: "Step 2 Content"
},{
title: "THREE",
content: "Step 3 Content"
}]
});
</script>
<script id="stepTemplate" type="text/x-kendo-template">
<div>
<span><strong>TWO</strong></span>
</div>
</script>
想法是在 activate
事件中捕获它。在 select
事件上处理它也可能有效。在事件处理程序上,获取向导实例,等待 Kendo 向导完成它的工作(更新 HTML)- 因此 setTimeout
,然后找到焦点列表项并执行你先请。下面的例子改变了背景颜色。在 Telerik DOJO 上试用它。这应该可以帮助您入门。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Kendo UI Snippet</title>
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2021.1.224/styles/kendo.default-v2.min.css"/>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2021.1.224/js/kendo.all.min.js"></script>
</head>
<body>
<div id="wizard"></div>
<script>
var $wizard = $("#wizard");
var wizard = $wizard.kendoWizard({
contentPosition: "right",
steps: ["Initial step", "Second step", "Third step"],
activate: function(e) {
var wizard = e.sender;
setTimeout(function() {
wizard.element.find('li.k-step').each(function(){
$(this).css("background-color", "initial");
})
var $li = wizard.element.find('li.k-step-focus');
$li.css("background-color", "blue");
}, 100);
},
}).data('kendoWizard');
</script>
</body>
要更改步骤的标签,请在 $li.css("background-color", "blue");
之后插入下面的代码
var step = wizard.activeStep();
var $label = $li.find('span.k-step-text');
switch (step.options.index) {
case 1:
$label.text('Two');
break;
case 2:
$label.text('Three');
break;
default:
$label.text('One');
break;
}
li
元素是关键!我热切希望到现在为止,你已经明白了。
<div id="wizard"></div>
<script type="text/javascript">
function onActivate(e) {
var as = e.sender.activeStep();
var jQueryElement = $(as.element).find(".k-wizard-content");
const asIndex = as.options.index;
jQueryElement.append("<h3> Mãe fez cuca no index " + asIndex + " </h3>");
}
$(document).ready(function() {
var prodWizard = $("#wizard").kendoWizard({
steps : [ {
title : "Passo 1",
buttons : ["previous", "next"]
}, {
title : "Passo 2",
buttons : ["previous", "next"]
} ],
activate : onActivate
});
onActivate({
sender : prodWizard.data('kendoWizard')
});
});
</script>
我想动态更改 KENDO UI 向导步骤。 例如,通过每一步更改图标背景颜色和标题。 我试图搜索文档,但找不到正确的答案。 如何在每个步骤中添加一个 Id 或属性? 我尝试更改标题属性,但它无法正常工作。
有没有办法自定义向导以动态步进? 我将不胜感激任何帮助。 谢谢
<div id="wizard"></div>
<script>
$("#wizard").kendoWizard({
steps: [{
title: "ONE",
content: "Step 1 Content"
}, {
title: kendo.template($("#stepTemplate").html()),
error: true,
content: "Step 2 Content"
},{
title: "THREE",
content: "Step 3 Content"
}]
});
</script>
<script id="stepTemplate" type="text/x-kendo-template">
<div>
<span><strong>TWO</strong></span>
</div>
</script>
想法是在 activate
事件中捕获它。在 select
事件上处理它也可能有效。在事件处理程序上,获取向导实例,等待 Kendo 向导完成它的工作(更新 HTML)- 因此 setTimeout
,然后找到焦点列表项并执行你先请。下面的例子改变了背景颜色。在 Telerik DOJO 上试用它。这应该可以帮助您入门。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Kendo UI Snippet</title>
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2021.1.224/styles/kendo.default-v2.min.css"/>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2021.1.224/js/kendo.all.min.js"></script>
</head>
<body>
<div id="wizard"></div>
<script>
var $wizard = $("#wizard");
var wizard = $wizard.kendoWizard({
contentPosition: "right",
steps: ["Initial step", "Second step", "Third step"],
activate: function(e) {
var wizard = e.sender;
setTimeout(function() {
wizard.element.find('li.k-step').each(function(){
$(this).css("background-color", "initial");
})
var $li = wizard.element.find('li.k-step-focus');
$li.css("background-color", "blue");
}, 100);
},
}).data('kendoWizard');
</script>
</body>
要更改步骤的标签,请在 $li.css("background-color", "blue");
var step = wizard.activeStep();
var $label = $li.find('span.k-step-text');
switch (step.options.index) {
case 1:
$label.text('Two');
break;
case 2:
$label.text('Three');
break;
default:
$label.text('One');
break;
}
li
元素是关键!我热切希望到现在为止,你已经明白了。
<div id="wizard"></div>
<script type="text/javascript">
function onActivate(e) {
var as = e.sender.activeStep();
var jQueryElement = $(as.element).find(".k-wizard-content");
const asIndex = as.options.index;
jQueryElement.append("<h3> Mãe fez cuca no index " + asIndex + " </h3>");
}
$(document).ready(function() {
var prodWizard = $("#wizard").kendoWizard({
steps : [ {
title : "Passo 1",
buttons : ["previous", "next"]
}, {
title : "Passo 2",
buttons : ["previous", "next"]
} ],
activate : onActivate
});
onActivate({
sender : prodWizard.data('kendoWizard')
});
});
</script>