質問編集履歴
1
ソースコードを修正しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -126,7 +126,7 @@
|
|
126
126
|
|
127
127
|
{ id: 0, name: '建物', types: [
|
128
128
|
|
129
|
-
{ use: '木造・合成樹脂造のもの', details: [
|
129
|
+
{ tId: 0, use: '木造・合成樹脂造のもの', details: [
|
130
130
|
|
131
131
|
{label: '事務所用のもの', life: 24 },
|
132
132
|
|
@@ -142,7 +142,7 @@
|
|
142
142
|
|
143
143
|
]},
|
144
144
|
|
145
|
-
{ use: '木骨モルタル造のもの', details: [
|
145
|
+
{ tId: 1, use: '木骨モルタル造のもの', details: [
|
146
146
|
|
147
147
|
{label: '事務所用のもの', life: 22 },
|
148
148
|
|
@@ -162,7 +162,7 @@
|
|
162
162
|
|
163
163
|
{ id: 1, name: '建物附属設備', types: [
|
164
164
|
|
165
|
-
{ use: 'アーケード・日よけ設備', details: [
|
165
|
+
{ tId: 0, use: 'アーケード・日よけ設備', details: [
|
166
166
|
|
167
167
|
{label: '主として金属製のもの', life: 15 },
|
168
168
|
|
@@ -170,9 +170,9 @@
|
|
170
170
|
|
171
171
|
]},
|
172
172
|
|
173
|
-
{ use: '店舗簡易装備', details: [
|
173
|
+
{ tId: 1, use: '店舗簡易装備', details: [
|
174
|
-
|
174
|
+
|
175
|
-
{label: '', life: 3 },
|
175
|
+
{label: 'aaa', life: 3 },
|
176
176
|
|
177
177
|
]},
|
178
178
|
|
@@ -188,43 +188,63 @@
|
|
188
188
|
|
189
189
|
getTypes: function() {
|
190
190
|
|
191
|
-
|
191
|
+
// 選択中の情報を取得
|
192
|
-
|
192
|
+
|
193
|
-
|
193
|
+
let itemName = this.itemSelect; // 1つ目のselect
|
194
|
-
|
195
|
-
|
196
|
-
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
-
|
197
|
+
// items から選択中のnameを探す
|
198
|
-
|
198
|
+
|
199
|
-
|
199
|
+
const itemResult = this.items.find((v) => v.name === itemName);
|
200
|
-
|
201
|
-
|
202
|
-
|
200
|
+
|
201
|
+
|
202
|
+
|
203
|
-
|
203
|
+
// 2つ目のselectの初期値をセットする
|
204
|
-
|
204
|
+
|
205
|
-
|
205
|
+
this.typeSelect = this.items[itemResult.id].types[0].use;
|
206
|
+
|
207
|
+
|
208
|
+
|
206
|
-
|
209
|
+
// 2つ目のselectのoptionをセットする
|
210
|
+
|
207
|
-
|
211
|
+
return this.items[itemResult.id].types;
|
208
|
-
|
212
|
+
|
209
|
-
|
213
|
+
},
|
210
|
-
|
214
|
+
|
211
|
-
|
215
|
+
getDetails: function() {
|
212
|
-
|
216
|
+
|
213
|
-
|
217
|
+
// 選択中の情報を取得
|
218
|
+
|
214
|
-
|
219
|
+
let itemName = this.itemSelect; // 1つ目のselect
|
220
|
+
|
215
|
-
|
221
|
+
let typeName = this.typeSelect; // 2つ目のselect
|
216
|
-
|
217
|
-
|
222
|
+
|
218
|
-
|
223
|
+
|
224
|
+
|
219
|
-
|
225
|
+
// items から選択中のuseを探す
|
226
|
+
|
220
|
-
|
227
|
+
const itemResult = this.items.find((v) => v.name === itemName);
|
228
|
+
|
221
|
-
|
229
|
+
const typeResult = this.items[itemResult.id].types.find((v) => v.use === typeName);
|
230
|
+
|
231
|
+
|
232
|
+
|
222
|
-
|
233
|
+
// 3つ目のselectの初期値をセットする
|
234
|
+
|
223
|
-
|
235
|
+
console.log(this.items[itemResult.id].types[typeResult.tId].details[0].label);
|
236
|
+
|
224
|
-
|
237
|
+
this.detailSelect = this.items[itemResult.id].types[typeResult.tId].details[0].label;
|
238
|
+
|
239
|
+
|
240
|
+
|
225
|
-
|
241
|
+
// 3つ目のselectのoptionをセットする
|
242
|
+
|
226
|
-
|
243
|
+
return this.items[itemResult.id].types[typeResult.tId].details;
|
244
|
+
|
245
|
+
|
246
|
+
|
227
|
-
|
247
|
+
}
|
228
248
|
|
229
249
|
},
|
230
250
|
|
@@ -234,6 +254,8 @@
|
|
234
254
|
|
235
255
|
|
236
256
|
|
237
|
-
|
257
|
+
3つ目のselectの初期値、及び3つ目のselectのoptionが、セットされません。
|
258
|
+
|
259
|
+
|
238
260
|
|
239
261
|
どうぞ、よろしくお願いいたします。
|