在 EasyUI TreeGrid 中刪除某父節點時,需連同其所有子節點一併移除,並判斷節點是否擁有子節點。
直接呼叫 TreeGrid 的 remove 方法,框架內建會遞迴刪除子節點:
// 刪除 id 為 2 的節點及其所有子孫節點
$('#tg').treegrid('remove', 2);
remove(id):移除指定節點及其所有子節點。$('#tg').treegrid('getChildren', nodeId) 取得子節點陣列,長度大於 0 即表示有子節點。var node = $('#tg').treegrid('getSelected');
if (node) {
var children = $('#tg').treegrid('getChildren', node.id);
if (children.length > 0) {
$.messager.confirm('確認', '該節點包含子節點,確定全部刪除?', function(r) {
if (r) $('#tg').treegrid('remove', node.id);
});
} else {
$('#tg').treegrid('remove', node.id);
}
}
善用內建方法,避免手動遞迴遍歷 DOM,減少錯誤並提升效能。