如何在Meteor AutoForm中将自定义模板与模式匹配?

时间:2015-11-17 15:39:03

标签: javascript meteor 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部分创建模板?

1 个答案:

答案 0 :(得分:1)

根据Meteor AutoForm documentationbootstrap3-horizontal只能与afFormGroupafQuickFieldquickForm一起使用。因此,如果您只想对表单中的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}}