在这个最小的例子中,我有两个模式,一个用于Person
,另一个用于定义集合的Groups
。使用AutoForm,我想将自定义模板应用于PersonSchema
的任何出现,无论父模式如何。
SimpleSchema.PersonSchema = new SimpleSchema({
firstName: {
type: String,
optional: false,
label: "First Name"
},
lastName: {
type: String,
optional: false,
label: "Last Name"
}
});
Groups = new Mongo.Collection('groups');
Groups.attachSchema(new SimpleSchema({
name: {
type: String,
optional: false,
label: "Group Name"
},
people: {
type: [SimpleSchema.PersonSchema],
minCount: 1
}
}));
据我所知,我可以通过模板属性将一个模板附加到AutoForm,以及一些其他类,如:
{{> quickForm id="addGroupForm" collection="Groups" type="insert" template="bootstrap3-horizontal" label-class="col-sm-3" input-col-class="col-sm-9"}}
如何仅为表单的Person
部分创建模板?
答案 0 :(得分:1)
根据Meteor AutoForm documentation,bootstrap3-horizontal
只能与afFormGroup
,afQuickField
或quickForm
一起使用。因此,如果您只想对表单中的template="bootstrap3-horizontal"
部分使用PersonSchema
,则需要为相应的template
设置afQuickField
属性。
例如:
{{#autoForm id="addGroupForm" collection="Groups" type="insert"}}
<fieldset>
<legend>Add a Group</legend>
{{> afQuickField name='name'}}
{{> afQuickField name='people' template="bootstrap3-horizontal" label-class="col-sm-3" input-col-class="col-sm-9"}}
</fieldset>
<button type="submit" class="btn btn-primary">Insert</button>
{{/autoForm}}