如何使用AutoForm将新对象添加到Array中?

时间:2015-02-13 14:09:02

标签: meteor-autoform

我有简单的架构,如:

Schema = new SimpleSchema
  name:
    label: "Order title"
    type: String
    optional: true

  offers:
    type: Array
    optional: true
  'offers.$':
    type: Object
  'offers.$.name':
    type: String
    min: 3
  'offers.$.selected':
    type: Boolean
    defaultValue: false

我第一次在Mongo集合中插入新条目。当我已经拥有它时,我想再添加一个提议。

我已尝试使用此代码将新商品添加到商品数组中,但它不会将任何数据发送到方法

+autoForm id="addOffer" schema=Schema type="method" meteormethod="addOffer" doc=data
  +afQuickField name='offers.$'
  button(type="submit") Add

看来,我只能一次编辑所有这些内容。例如。使用:

+autoForm id="updateOffer" collection="Order" type="update" doc=data
  +afQuickField name='offers'

如果我想在不看已添加优惠的情况下使用autoForm添加新优惠,我是否应该将优惠转移到单独的收藏中?

2 个答案:

答案 0 :(得分:1)

似乎 aldeed 刚解决了新AutoForm(5.0)版本中的问题。现在我们有update-pushArray表单类型。

此处有更多信息:https://github.com/aldeed/meteor-autoform#update-pusharray

答案 1 :(得分:0)

使用arrayTracker.addOneToField应该做的工作。在这里查看此事件处理程序:https://github.com/aldeed/meteor-autoform/blob/master/autoform-events.js#L474