Как установить правильный путь для вложенных данных в таблице - Элемент пользовательского интерфейса - Vue JS
Я пытаюсь проверить форму, часть которой представлена в таблице, используя element-ui. Но я не могу передать действительную реквизит el-form-item.
Модель данных выглядит примерно так.
form: {
invoices: [
{
amount: '',
items: [{ name: '', value: '' }]
}
]
}
В части HTML у меня есть что-то вроде этого:
<template v-for="(invoice, index) in form.invoices">
<el-form-item :prop="`invoices.${index}.amount`" :rules="rules.invoiceAmount">
<el-input/>
</el-form-item>
<el-table :data="invoice.items">
<el-table-column prop="name">
<template scope="scope" slot-scope="scope">
<el-form-item :prop="`invoices.${index}.items.${scope.$index}.name`" :rules="rules.items">
<el-input/>
</el-form-item>
</template>
</el-table-column>
</el-table>
</template>
Второй <el-form-item>
не подтвержден из-за ошибки
Msgstr "Ошибка: пожалуйста, передайте действительный путь реквизита в элемент формы!"
Я также попытался передать в качестве опоры следующее
items.${scope.$index}.name
но это тоже не сработало. Какие-нибудь мысли?
1 ответ
Решение
Правильный путь будет invoices[${index}].items[${scope.$index}].name