Javascript devExtreme TreeView展开、滚动至并聚焦
是否可以展开树状视图,滚动到一个节点并将其集中在一个功能上Javascript devExtreme TreeView展开、滚动至并聚焦,javascript,jquery,treeview,devextreme,Javascript,Jquery,Treeview,Devextreme,是否可以展开树状视图,滚动到一个节点并将其集中在一个功能上 $("#buttonTest").dxButton({ text: "Test", onClick: function () { editTreeView.expandItem(editTreeView.element().find(".dx-treeview-item")[0]) var currentNode = $("#editTreeView").find("[data
$("#buttonTest").dxButton({
text: "Test",
onClick: function () {
editTreeView.expandItem(editTreeView.element().find(".dx-treeview-item")[0])
var currentNode = $("#editTreeView").find("[data-item-id=" + 80 + "]");
var scrollable = $("#editTreeView").find(".dx-scrollable").dxScrollable("instance");
scrollable.scrollToElement(currentNode);
$("#editTreeView").find(".dx-treeview-node").removeClass("dx-state-focused");
var currentNode = $("#editTreeView").find("[data-item-id=" + 80 + "]");
currentNode.focus().addClass("dx-state-focused");
}
});
在本例中,树在第一次单击时打开,在第二次单击时滚动/聚焦。但我希望只需点击一下:)
谢谢。似乎存在与可滚动高度计算相关的问题。您可以使用下面的
setTimeout
功能修复它:
$("#buttonTest").dxButton({
text: "Test",
onClick: function () {
//...
setTimeout(function() {
scrollable.scrollToElement(currentNode);
}, 300);
}
});
这个解决方案看起来像是一个黑客,但仍然存在
我也创建了。似乎存在与可滚动高度计算相关的问题。您可以使用下面的
setTimeout
功能修复它:
$("#buttonTest").dxButton({
text: "Test",
onClick: function () {
//...
setTimeout(function() {
scrollable.scrollToElement(currentNode);
}, 300);
}
});
这个解决方案看起来像是一个黑客,但仍然存在
我还创建了。在Angular for scrollTo中可以执行以下操作:
onItemClick(e) {
setTimeout(() => {
e.component._scrollableContainer.scrollToElement(e.itemElement.parentElement.lastChild);
}, 400);
在scrollTo中,可以执行以下操作:
onItemClick(e) {
setTimeout(() => {
e.component._scrollableContainer.scrollToElement(e.itemElement.parentElement.lastChild);
}, 400);