【发布时间】:2020-08-08 15:12:13
【问题描述】:
这里我有一个显示一个列表的组件。 列表中的每个元素都可以通过单击列表项侧的一个按钮来删除。
模板
<div
v-for="(question, index) in questions"
:key="index"
class="q-gutter-md row items-start">
<q-input
v-model="question.question"
label="Domanda"
lazy-rules
:name="'question' + index"
:rules="[lengthValidation]"
></q-input>
<q-select
v-model="question.answerType"
:options="answerTypesList"
label="Tipo di risposta"
:name="'answerType' + index"
></q-select>
<q-btn
flat
class="q-ml-sm"
color="negative"
icon="cancel"
:label="index"
@click="removeQuestion(index)" />
</div>
脚本
removeQuestion (evt, index) {
console.log(index)
this.questions.splice(index, 1)
}
注意:第一行不是列表的一部分
当我“console.log”从组件接收到的“index”变量时,打印的值是“undefined”,但正如您所见,在“delete”符号的一部分中,索引是正确的。
我该如何解决这个问题?
最好的问候
Edit on 2020/04/26修改了脚本代码,因为 split 方法返回了一个包含已删除项的数组并从数组中删除了该项:
之前
this.questions = this.questions.splice(index, 1)
当前
this.questions.splice(index, 1)
【问题讨论】:
标签: javascript arrays vue.js vuejs2 v-for