所以我正在尝试用猫鼬的枚举类型填充选择组件
在我的用户服务中,架构如下所示:
firstName: { type:String, required: true },
...
ris:{type: String, default: 'R', enum:['R', 'I', 'S']},
在我的羽毛服务中,我可以使用"这个。模型">
所以在任何钩子中我都可以做到:
this.Model.schema.path('ris').enumValues); //['R','C','I']
我从枚举类型中获取值。
现在,由于我无法创建自定义API方法,因此无法创建官员以外的自定义API方法
- 调用自定义 API 方法的羽毛
- https://docs.feathersjs.com/clients/readme.html#caveats
- https://docs.feathersjs.com/help/faq.html#can-i-expose-custom-service-methods
如何创建服务方法/调用/某些内容,以便我可以在我的
componentDidMount(){ var optns= this.props.getMyEnumsFromFeathers}
并具有枚举 ["R"、"C"、"I'] 来设置我的下拉菜单
我正在使用 React/Redux/ReduxSaga-FeathersJS
我会创建一个服务来在find
方法中列出枚举:
class EnumService {
find(params) {
const { service, path } = params.query;
const values = this.app.service(service).Model.schema.path(path).enumValues;
return Promise.resolve(values);
}
setup(app) {
this.app = app;
}
}
app.use('/enums', new EnumService())
然后在客户端上你可以做
app.service('enums').find({ query: {
service: 'myservice',
path: 'ris'
}
}).then(value => console.log('Got ', values));
我试图使用此代码,但是,它不像即插即用那样工作。
在使用应用程序服务进行一些游戏后,我想出了下面的代码
async find(params) {
const { service, path } = params.query;
const values = await this.app.service(service).Model.attributes[path].values;
return values || [];
}
setup(app) {
this.app = app;
}
我不确定这是否是使用什么数据库的问题,就我而言,我在开发环境中,所以,我正在使用sqlite。