0

我为我的表单使用自动表单。现在我有一个特殊的问题,我问自己是否可以使用自动表单轻松解决这个问题。

使用我的自动表单,我想在我的 MongoDB 中构建一个简单的类别树。只是一个名字和一个父母(选择)。

这看起来像这样:

Categories.attachSchema(new SimpleSchema({
  name : {
    type: String,
    label: "Name",
    max: 200
  },
  parent : {
    type : String,
    allowedValues: [false, 'id_of_cat_1', 'id_of_cat_2', 'id_of_cat_3'],
    optional : true,
    autoform: {
      options: [
        {label: '- none -', value: false},
        {label: 'cat 1', value: 'id_of_cat_1'},
        {label: 'cat 2', value: 'id_of_cat_2'},
        {label: 'cat 3', value: 'id_of_cat_3'}

      ]
    }
  }
}));

很短很简单。autoforms 现在为我创建了表单,我可以用它做一些事情。

但是这里的问题是什么?问题是-parent值。它的类型是String,因此选择“-无-”是不可能的。但我希望数据库中的字段在没有给出父级时parent有一个boolean值( )。false

现在的问题是如何解决这个问题。

给出 2 种或更多类型的值是否更好并且可能?如果不是,则必须在集合之后或之前覆盖该值 - 但这也不起作用,因为 simpleSchema 确实拒绝了这个过程。对于覆盖我使用matb33:collection-hooks.

4

1 回答 1

1

您可以改用空字符串:

parent : {
  type : String,
  allowedValues: ['', 'id_of_cat_1', 'id_of_cat_2', 'id_of_cat_3'],
  optional : true,
  autoform: {
    options: [
      {label: '- none -', value: ''},
      {label: 'cat 1', value: 'id_of_cat_1'},
      {label: 'cat 2', value: 'id_of_cat_2'},
      {label: 'cat 3', value: 'id_of_cat_3'}
    ]
  }
}

这是有道理的,因为空字符串在 if 语句中作为假

于 2014-10-25T07:12:11.013 回答