【发布时间】:2022-01-24 02:34:10
【问题描述】:
你好,当用户选择一个生成原因的原因选项时,我尝试生成一个决策树,我们创建一个选择,如果他点击一个选项并且 API 没有返回一个空数组,那么下面的另一个选择带有子原因这一切都是根据API的响应动态创建的,只要不返回空数组等等
<template>
// the first select option don't generate
<select v-model="reasonOne" @change="eventOne(reasonOne)">
<option
v-for="(reason, key) in reasonsOne"
:key="key"
:value="reason.value"
:selected="reason.item === reasonOne"
@click="eventOne(reason.item)"
>
{{ reason.item }}
</option>
</select>
// the div with generate dynamically all select option
<div v-if="showSav">
<div id="select-pattern" class="step-two__select-wrapper" />
</div>
<template/>
<script>
async eventOne(option) {
let reasonsReturn = await customerApi.getReturnPattern(
app,
this.detailReturn.sku.product.id
);
if (!this.reasonsReturn.length) {
this.showSav = false;
}
let selectPattern = document.createElement('select');
let target = document.getElementById('select-pattern');
selectPattern.className = 'select-create';
selectPattern.id = 'create-input';
target.appendChild(selectPattern);
for (let item of reasonsReturn) {
let optionPattern = document.createElement('option');
optionPattern.value = item.id;
optionPattern.text = item.name;
selectPattern.appendChild(optionPattern);
}
document
.getElementById('create-input')
.addEventListener('change', async function () {
let reasonData = await customerApi.getReturnPattern(
app,
this.value
);
});
}
</script>
我能够使用它创建第一个选择,但其余的我被卡住了我认为我们必须在选择上创建一个循环,如果 API 返回数据将创建该循环。每次选项更改时调用api时我都不知道该怎么做
【问题讨论】:
标签: javascript vue.js