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

Meteor simple-schema array should have defaultValue none

我有一个表格供人们创建一个活动,该活动稍后会有成员,但不是在创建时。创建事件时,不应添加成员,因此自动表单不显示成员字段:

createEvent.jade

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

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

  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: "['']" 和其他一些方法。暂时卡住了,请帮忙..

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

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

如果你想默认插入一个空数组,试试:

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