質問編集履歴

2

実装の変更

2019/10/16 22:56

投稿

sanezane
sanezane

スコア91

test CHANGED
@@ -1 +1 @@
1
- javascript(Nuxt.js)でのツリービューの子要素の展開
1
+ javascript(Nuxt.js)でのツリービューの子要素の展開でsetTimeout以外の選択肢
test CHANGED
@@ -1,6 +1,6 @@
1
1
  # 発生事象
2
2
 
3
- ツリービュー展開時の遅延読み込みでデータが反映されない
3
+ ツリービュー展開時の遅延読み込みでsetTimeoutを使わないと展開されない
4
4
 
5
5
 
6
6
 
@@ -14,7 +14,9 @@
14
14
 
15
15
  # 現状の実装と画像
16
16
 
17
- 以下のようにlazy-load-functionプロパティという展開されたときのプロパティに対し関数(load)を設定しノードが展開されたときにデータを読み込んでいる
17
+ 以下のようにlazy-load-functionプロパティという展開されたときのプロパティに対し関数(load)を設定しノードが展開されたときにデータを読み込んでいる
18
+
19
+ コメントアウト部はwatchオプションでデータ取得フラグを監視してツリービューを展開させようとした痕跡だが、callbackが呼べなくて断念。
18
20
 
19
21
  ```
20
22
 
@@ -52,11 +54,15 @@
52
54
 
53
55
 
54
56
 
55
- //最初ここ以下のように処理を完結させようとしたが、データ取得できないうちに以下の処理に入ってきてしまっていたので監視用のWatchオプション使うこと
57
+ //問題の箇所(setTimeoutでデータ取得を待ってからcallback呼ぶことで展開している
56
58
 
57
- // Node = this.selectorg
59
+ setTimeout(function() {
58
60
 
61
+ let result = this.selector
62
+
59
- // callback(Node)
63
+ callback(result);
64
+
65
+ }, 1000);
60
66
 
61
67
 
62
68
 
@@ -68,19 +74,19 @@
68
74
 
69
75
  //上記のデータ取得処理($emit)の中でデータを取得したら`loadingselectorg`の値を変更してここに飛ばすようにしている
70
76
 
71
- @Watch('loadingselectorg')
77
+ //@Watch('loadingselectorg')
72
78
 
73
- loadValueInto(Node, callback) {
79
+ // loadValueInto(Node, callback) {
74
80
 
75
- if (this.loadingselectorg) {
81
+ // if (this.loadingselectorg) {
76
82
 
77
- Node = this.selectorg
83
+ // Node = this.selectorg
78
84
 
79
85
  //ここでload関数におけるcallback(Node)相当の処理が必要?
80
86
 
81
- }
87
+ // }
82
88
 
83
- }
89
+ // }
84
90
 
85
91
  </script>
86
92
 

1

誤字修正

2019/10/16 22:56

投稿

sanezane
sanezane

スコア91

test CHANGED
File without changes
test CHANGED
@@ -104,13 +104,13 @@
104
104
 
105
105
  this.loadingselectorg = false
106
106
 
107
- await this.$store.dispatch('jutree/selectorg', this.treeData).catch(() => {
107
+ await this.$store.dispatch('/アクション', 現在のノード情報).catch(() => {
108
108
 
109
109
  this.$notify({
110
110
 
111
111
  title: '失敗',
112
112
 
113
- message: '自組織情報を取得できませんでした',
113
+ message: '情報を取得できませんでした',
114
114
 
115
115
  type: 'warning'
116
116