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"
}
}
});