Meteor简单模式数组应该有defaultValue none

时间:2015-06-04 20:30:41

标签: javascript meteor meteor-autoform meteor-collection2

我有一个表单供人们创建一个事件,以后会有成员,但不是在创建时。创建事件时,不应添加任何成员,因此autoform不显示任何成员字段:

createEvent.jade

template(name="createEvent")
  +quickForm(collection="Events" id="createEventForm" type="insert" fields="name,description,location")

对于要提交的表单,我相信我必须确保Events集合的所有必填字段都有值,即使不是表单。即使我尝试添加defaultValue,表单也不会提交(提交按钮无效,我正在检查minimongol以确保没有记录条目):

  crew: {
    type: [String],
    label: "Crew",
    defaultValue: ""
  },

autoValue,其中创建者被添加为成员:

  crew: {
    type: [String],
    label: "Crew",
    autoValue: function() {
      return this.userId;
    },
  },

我在一分钟之前遇到了这个问题,默认情况下没有表单字段设置事件创建者,它现在有效:

  host: {
    type: String,
    label: "Host",
    autoValue: function() {
      return this.userId;
    },
  },

但我不能得到这个基于数组的默认值。我还试过了defaultValue: "['']"和其他一些人。坚持到现在,请帮忙..

1 个答案:

答案 0 :(得分:5)

如果您希望将创建者添加为默认成员,则可以使用:

crew: {
    type: [String],
    label: "Crew",
    autoValue: function() {
        if( this.isInsert ) {
            return [ this.userId ]
        }
    }
}

如果要在默认情况下插入空数组,请尝试:

crew: {
    type: [String],
    label: "Crew",
    defaultValue: [],
    minCount: 0
}