Autoform:我可以在模式中指定选项助手吗?

Autoform: can I specify the options helper in the schema?

有什么方法可以在模式中指定选项助手吗?我试过了:

架构

{
  favoriteColor: {
    type: String,
    autoform: {
      options: "colorOptions"
    }
  }
}

不过好像不行。

以下技术可以很好地显示带有表单选项的 select:

架构

{
  favoriteColor: {
    type: String
  }
}

帮手

Template.myFormTemplate.helpers({
  colorOptions: function () {
    return Colors.find().map(function (c) {
      return {label: c.name, value: c._id};
    });
  }
});

模板

{{> afQuickField name="favoriteColor" options=colorOptions}}

在我的实际模式中,我有一个对象数组,在每个对象中,我需要 select 来自不同集合的一个项目。当您使用 afArrayField 时,您不能再像我在上面的模板中那样在模板中设置选项(因为它是一个对象数组,并且对象中的一个元素将引用助手)。

我定义方案时查询数据库是唯一的选择吗?我想这会让它变得无反应,对吧?

{
  favoriteColor: {
    type: String,
    autoform: {
      options: function () {
    return Colors.find().map(function (c) {
      return {label: c.name, value: c._id};
    });
  }
    }
  }
}

将辅助函数直接插入到架构中即可。我正在做类似的事情,它是被动的。