サーバーからデータを取得しています。スラッシュの量はパスへのパスは異なるものでAngular2/PrimeNG - 項目を動的にツリービューにプッシュ
ABC/ABCA/abcsd/
absc.dat:データは次のようになります。
今、PrimeNGを使用してツリービューに表示したいとします。 これは私がどのくらいである。前述のように
for (var i = 0; i < this.test.length; i++) {
let regex = /([^\/]+)\/?/g;
let result: RegExpExecArray;
while ((result = regex.exec(this.test[i])) !== null) {
console.log(result[1]);
if (result[1].search(".dat")>0) {
let item = {
"label": result[1],
"data": "Documents Folder",
"icon": "fa-file-text-o"
}
this.tree.push(item)
}
else {
let item = {
"label": result[1],
"data": "Documents Folder",
"expandedIcon": "fa-folder-open",
"collapsedIcon": "fa-folder",
"children": [{
}]
}
this.tree.push(item)
}
}
}
「テスト」は、データです。 正規表現で/を検索しています。 "result [1]"はスラッシュの間の文字列を私に与えます。 私は今で行うことができる午前ことtreeviewstructureは、この(上記の例)のようなものであることと、ツリービューに押し込みの.datそのAか否かが、その後チェックして:あなたは私を見ることができるように
-abc
-abca
-abcsd
-absc.dat
正しいフォルダ構造を表示できません。 スラッシュの量を取得してハードコーディングしてから、正しい順序で押し込むスイッチケースを作成しますが、intを動的な方法で使用します。
だから私は必要なもの、動的な方法でこれです:
for 3 slashes:
first item: this.items.push(item)
sec. item : this.items[0].children.push(item)
third. item: this.items[0].children[0].children.push(item)
for x slashes:
???
任意のアイデア?