Javascript 在Meteor中使用autoform创建简单输入字段

Javascript 在Meteor中使用autoform创建简单输入字段,javascript,node.js,meteor,meteor-autoform,meteor-collection2,Javascript,Node.js,Meteor,Meteor Autoform,Meteor Collection2,现在我有多个过滤器 <template name="filter1"> {{> selectFilter fieldName=fieldName options=options}} </template> <template name="filter2"> {{> selectFilter fieldName=fieldName options=options}} </template> <template name=

现在我有多个过滤器

<template name="filter1">
  {{> selectFilter fieldName=fieldName options=options}}
</template>

<template name="filter2">
  {{> selectFilter fieldName=fieldName options=options}}
</template>

<template name="filter3">
  {{> selectFilter fieldName=fieldName options=options}}
</template>

<template name="filter4">
  {{> selectFilter fieldName=fieldName options=options}}
</template>

<template name="selectFilter">
  <select name="{{fieldName}}" class="form-control">
    <option value="">Any</option>
    {{#each options}}
      <option value="{{value}}" selected="{{#if sessionEquals ../fieldName value}}selected{{/if}}">{{label}}</option>
    {{/each}}
  </select>
</template>
通过
collection2
,我设置了
选项

field1: {
  type: Number,
  optional: true,
  autoform: {
    options: getOptionsForField1,
  },
},
是否可以使用
autoform
collection2
创建一个简单的
select
元素,该元素已经填充了选项,而不需要自己创建html,并用选项填充模板

我想我可以做一些类似于
{{>quickfieldname=fieldName}}
的事情,但我不知道如何从哪个模式中判断它应该是什么样子,以及如何对选择更改做出反应

我只是觉得我既在模式中指定选项,又在模板中填充选项,这看起来很愚蠢。这应该自动完成。

您的自动表单:

{{#autoForm collection="Collection" id=insertCollection type="insert"}}
    {{> afQuickField name='field1'}}
{{/autoForm}}
您的SimpleSchema:

Collection = new Mongo.Collection('collection');
Collection.attachSchema(new SimpleSchema({
    field1: {
        type: Number,
        optional: true,
        autoform: {
            options: function() {
                return [1,2,3,4,5,6,7,8,9];
            },
            type: "select"
        }
    }
});

简短的回答是肯定的,我将提供一个简短的示例为什么要创建插入表单?您没有指定,所以我只使用了
insert
Collection = new Mongo.Collection('collection');
Collection.attachSchema(new SimpleSchema({
    field1: {
        type: Number,
        optional: true,
        autoform: {
            options: function() {
                return [1,2,3,4,5,6,7,8,9];
            },
            type: "select"
        }
    }
});