在这个最小的示例中,我有两个模式,一个用于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
}
}));
我知道可以通过template属性以及一些其他类将模板附加到AutoForm上:
{{> quickForm id="addGroupForm" collection="Groups" type="insert" template="bootstrap3-horizontal" label-class="col-sm-3" input-col-class="col-sm-9"}}
如何仅为表单的
Person
部分创建模板? 最佳答案
根据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}}