Как установить правильный путь для вложенных данных в таблице - Элемент пользовательского интерфейса - 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

Другие вопросы по тегам