如何将自定义模板与 Meteor AutoForm 中的模式匹配?
How to match custom template to schema in Meteor AutoForm?
在这个最小的示例中,我有两个模式,一个用于 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
部分创建模板?
根据 Meteor AutoForm documentation,bootstrap3-horizontal
只能与 afFormGroup
、afQuickField
或 quickForm
一起使用。因此,如果您只想对表单中的 PersonSchema
部分使用 template="bootstrap3-horizontal"
,则需要为适当的 afQuickField
.[=20= 设置 template
属性]
例如:
{{#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}}
在这个最小的示例中,我有两个模式,一个用于 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
部分创建模板?
根据 Meteor AutoForm documentation,bootstrap3-horizontal
只能与 afFormGroup
、afQuickField
或 quickForm
一起使用。因此,如果您只想对表单中的 PersonSchema
部分使用 template="bootstrap3-horizontal"
,则需要为适当的 afQuickField
.[=20= 设置 template
属性]
例如:
{{#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}}