我正在写一个组件(
form
)它充当从父组件传递的表单字段的容器。
我将表单字段作为道具传递给孩子:
formFields: [
{ name: 'email', type: 'email' },
{
name: 'sub_group',
type: 'group',
contents: [
{ name: 'sub_field_01', type: 'text' },
{ name: 'sub_field_02', type: 'text' },
]
}
]
这一切都显示良好,并在我的孩子组件工作良好。
我使用一个computed属性来构建数据,以发布到路由以更新资源。我分组
sub_group
所以当我发帖的时候,管理员知道
亚群
是一个数组。
然而,
亚群
数组始终为空
直到我把它记录下来
,因此它只在记录时计算。最高层(
email
在这种情况下)总是出现。
我试过去掉computed属性并使用一个方法来构建要发布的对象,但我有同样的问题。我真的不知道发生了什么。如何“强制”计算出的属性进行计算?
编辑添加表单示例
呈现窗体的代码:
<div v-for="field in formFields">
<!-- Individual Field -->
<div v-if="field.type !== 'group'">
<label v-if="field.label">{{ field.label }}</label>
<input :type="field.type" :name="field.name" v-model="field.value">
</div>
<!-- Group -->
<div v-else>
<div v-for="child in field.group">
<label v-if="child.label">{{ child.label }}</label>
<input :type="child.type" :name="child.name" v-model="child.value">
</div>
</div>
</div>
post的计算属性:
<div v-for=“表单域中的域”>
&!--单个字段-->
<div v-if=“字段类型!='组'>
<label v-if=“field.label”>{{field.label}}</标签>
<input:type=“field.type”:name=“field.name”v-model=“field.value”>
和;
&!--组-->
<div v-else>
<div v-for=“field.group中的子项”>
<label v-if=“child.label”>{{child.label}}</标签>
<input:type=“child.type”:name=“child.name”v-model=“child.value”>
和;
&L/DIV & GT;
和;
我意识到这需要重构,但我不能让它像这样工作。我试着加上
cache:false
以及计算属性的getter,但这不起作用。