jstree에 대한 json_data 구현을 사용하면 사용자가 트리에서 다른 노드를 열어 내용을 볼 수 있습니다. 기본적으로 이것은 :AJAX 성공 콜백에 잘못된 노드가있는 JSTree 경쟁 조건
.jstree({
"plugins" : [ "json_data", "ui" ],
"ui" : { "select_multiple_modifier": "on",
"selected_parent_close": "deselect" },
"json_data" : {
"ajax" : {
"url": function(node) {
... return a url ...
},
"success": function(metadata, textStatus, jqXHR) {
var parent = this._get_node(); // <- RACE CONDITION
return parseMetaDataNodes(metadata, parent);
}
}
}
사용자가 어떻게 든 첫 번째 반환에 대한 AJAX 응답하기 전에 두 개의 노드를 클릭하면, 그것은 둘 다 행동을 깨고 트리에서 동일한 "부모"를 가지고 있다고 생각합니다. 성공 콜백에서 올바른 노드를 얻을 수있는 더 좋은 방법
- :
사람은 하나를 알고 있나요?
- 트리를 잠궈 서 첫 번째 반환까지 클릭을 수락하지 않는 방법?
JSTree가 빌드 한 후에도 JSTree가 노드를 캐시하므로 특히 선택 취소 및 재 선택이 빠르기 때문에 생각했던 것처럼 사용자 경험이 좋지 않습니다. 오픈 소스 프로젝트에 대한 의견은 https://github.com/carterpage/yoga/commit/aef8b68fe9eeb71f302e2bfc1b916e357330b717에 있습니다. –