流星节点-简单模式允许值/自定义函数



我正在尝试使用 Adeed 节点简单模式使两个字段相互依赖,如下所示:

const Schemas = {};

Schemas.User= new SimpleSchema({
  name: { type: String },
  surname: { 
    type: String, 
    allowedValues(){
      if ( this.field('name').value === "Daniel" ) {
        return SomeCollection.find().fetch().map(obj => ...)
      }
    }
});

但是不可能使用this.field和其他特定于custom() allowedValues()的功能。我想要的:使allowedValues取决于用户在name字段中输入的内容(this.field('name').value === "Daniel"(。或者是否可以在custom()内部使用allowedValues

custom(){ 
  ...
  return allowedValues; // limit what the user can provide to the field.
}

注意:我使用的是UniForms而不是AutoForm。

我终于使用 UniForms 解决了客户端上的问题。这就是我获得字段值的方式:

<AutoForm 
 schema={ Schemas.User } 
 onChangeModel={ model =>  ( 
   model.name ? this.setState({ name: model.name }) : ''
  )}
 ...
>
...
</Autoform>

使用 onChangeModel={ model.name ? this.setState({ name: model.name }) : '' )},我可以在模型更改时存储名称的值。参考我认为也可以使用findValue。但我没有尝试过,因为onChangeModel满足了我的需求。

最新更新