Meteor 创建一个数组表单,其中每个元素都是“选择”类型

Meteor 创建一个数组表单,其中每个元素都是“选择”类型,meteor,meteor-blaze,meteor-autoform,Meteor,Meteor Blaze,Meteor Autoform,我在meteor项目中使用autoform,在NewStack表单中使用afArrayField作为我的维度字段 现在看起来是这样的 下面是它的呈现方式: NewStack.html {{autoForm collection=stacks id=insertStackForm type=method method=createStack class=new stack form} 添加一个堆栈! {{>afQuickField name='desc'} {{>afArrayField name

我在meteor项目中使用autoform,在NewStack表单中使用afArrayField作为我的维度字段

现在看起来是这样的

下面是它的呈现方式:

NewStack.html

{{autoForm collection=stacks id=insertStackForm type=method method=createStack class=new stack form} 添加一个堆栈! {{>afQuickField name='desc'} {{>afArrayField name='dimensions'} 插入 {{/autoForm} 对于每个维度字段,我希望看到的是一个下拉列表,其中填充了我在模式中设置的选项,即dim1、dim2和dim3。然而,除了纯文本输入,我似乎无法将表单呈现为任何其他内容

Stacks.js

StackSchema=newsimpleschema{ 描述:{ 类型:字符串, 标签:说明 }, 尺寸:{ 类型:[字符串], 自动形成:{ 类型:选择, 附加输入:{ 选项:[ {标签:dim1,值:1}, {标签:dim2,值:2}, {标签:dim3,值:3} ] }, } } }; 有趣的是,如果我在NewStack.html中将afArrayField更改为afQuickField,那么autoform现在似乎可以看到我的选项,但我显然失去了数组功能


有什么想法吗?afArrayField是否有一些固有的特性阻止我使用某种选择模式?

尝试将您的模式更改为:

dimensions: {
    type: [String],
    autoform: {
        type: "select",
        options: [
            {label: "dim1", value: 1},
            {label: "dim2", value: 2},
            {label: "dim3", value: 3}
        ],
    }

可以使用$为数组中的每个元素指定选项:

const StackSchema=new SimpleSchema{ 描述:{ 类型:字符串, 标签:说明 }, 尺寸:{ 类型:[字符串], }, 维度。$:{//请注意此条目 类型:字符串, 自动形成:{ 附加输入:{ 选项:[ {标签:dim1,值:1}, {标签:dim2,值:2}, {标签:dim3,值:3} ] }, } } };
它在自动表单中提到。

似乎没有改变任何东西。完美。非常感谢!我看了所有的文件,但没有完全理解那部分。我对JS非常陌生,只是之前的经验是D3中的玩具可视化,我不熟悉$syntax。我得等19个小时才能颁发赏金。。。但这是你的。