1

我想从另一个集合(即 MyCollection)中获取下拉选项。在这个集合中,我拥有所有选项值(即选项)。我正在使用 collection2 包,我只想获取模式中的所有选项,而不使用帮助程序。

定义集合:

MyCollection = new Mongo.Collection('mycollection');

集合结构:

{
    options : [A, B, C, D, E, F]
}

collection2 架构:

some-schema = new SimpleSchema({

     dropdown : {
         type : String,
         label : "Select One",
         autoform : {
               options: /*....*/
         }
     }
});

html:

{{#autoForm schema='some-schema' id='some-id' type="method" meteormethod="some-method"}}
    {{> afQuickField name='dropdown'}}
{{/autoForm}}

任何建议...

4

1 回答 1

4

您可以使用将在反应式计算中执行的函数来动态计算可用选项列表。

SomeSchema = new SimpleSchema({
  [...]
  dropdown : {
    type : String,
    label : "Select One",
    autoform : {
      options: function(){
        var doc = MyCollection.findOne();
        var docOptions = doc && doc.options;
        return _.map(docOptions, function(value){
          return {
            label: value,
            value: value
          };
        });
      }
    }
  }
  [...]
});

您实际上可以使用多种不同方式在 AutoForm 选择中设置选项,请自己查看:https ://github.com/aldeed/meteor-autoform#what-are-the-various-ways-i-can-specify-options-选择无线电组或复选框组

于 2015-06-03T12:33:02.843 回答