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};
});
}
}
}
}
将辅助函数直接插入到架构中即可。我正在做类似的事情,它是被动的。
有什么方法可以在模式中指定选项助手吗?我试过了:
架构
{
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};
});
}
}
}
}
将辅助函数直接插入到架构中即可。我正在做类似的事情,它是被动的。