我使用 kendo 模板渲染了 Kendo 树视图,如下所示:
$("#TradingTreeView").kendoTreeView({
loadOnDemand: false,
template: kendo.template($("#TreeView-template").html())
});
模板如下:
<script id="TreeView-template" type="text/kendo-ui-template">
<div class="section group">
<div class="TradingSpaceText">
#: item.text #
</div>
</div>
</script>
当我使用
时var treeview = $("#TradingTreeView").data("kendoTreeView");
var TradingSummary= treeview.findByText("Trading Space Summary");
treeview.select(TradingSummary);
我通过覆盖
findByText
函数并删除所有换行符和空格解决了同样的情况。
要覆盖任何功能,您可以使用 kendo.ui.plugin
功能。就我而言,它看起来像:
const treeViewPlugin = (function (init) {
return kendo.ui.TreeView.extend({
init: function (element, options) {
const that = this;
init.call(that, element, options);
},
findByText: function (text) {
return $(this.element)
.find('.k-in')
.filter(function (i, element) {
return (
$(element)
.text()
.replace(/\r?\n|\r/g, '') //remove all line breakes
.trimStart() //and trim spaces
.trimEnd() == text
);
})
.closest('.k-item');
}
});
})(kendo.ui.TreeView.fn.init);
kendo.ui.plugin(treeViewPlugin);