情報取得サブ要素-UIツリーノードを選択し、親ノードの使用

使用エル・ツリーは、組織の情報を表示し、クエリとしてバックグラウンドに渡します。元のバージョンは、すべての選択されたノードがデータを照会するようにバックエンド、バックエンド用途に渡されています。問題は、ルートノードが選択されている場合、このプレゼントは、それが全体のツリーデータは、バックエンド、貧弱なSQL実行のパフォーマンスに渡される配置します。

バックエンドの要求、子ノードが選択されている場合、子ノード、限り親ノードのスプレッドアウトなどの情報を渡しません。犬耳要素-UIドキュメント、既製の方法を見つけることができませんでした。特定のコードを記述するだけ次の通りである(要素-UIツリーソースを参照)

getSimpleCheckedNodes(store) {
	const checkedNodes = [];
	const traverse = function(node) {
		const childNodes = node.root ? node.root.childNodes : node.childNodes;
	
		childNodes.forEach(child => {
			if (child.checked) {
				checkedNodes.push(child.data);
			}
			if (child.indeterminate) {
				traverse(child);
			}
		});
	};
	traverse(store)
	return checkedNodes;
}

....
// 调用
getSimpleCheckedNodes(this.$refs.tree.store);// el-tree的ref是tree

困っている友達を助けることを望んで、便利な賞賛、喜喜してください:)

公開された53元の記事 ウォン称賛39 ビュー80000 +

おすすめ

転載: blog.csdn.net/Chinese521/article/details/98179487