我正在尝试创建一个
formly custom type
。我希望能够通过调用字段定义中的服务来传递自定义属性。例如
{
key: 'city',
type: 'customType',
props: {
label: 'Cities',
},
field: {
customProp3: inject(CityService).getCities,
},
}
我通过扩展
field
添加了 FormlyFieldConfig
属性,如下
interface CustomFormlyFieldConfig extends FormlyFieldConfig {
field?: {
[additionalProperties: string]: any;
};
}
在
customType
组件中,我尝试访问 field
但我得到一个空对象
访问此自定义属性的属性的正确方法是什么?
更新0
在组件类中,我设法使用
this.field.field.customProps
访问自定义属性。我尝试调用此方法,但当我尝试时,我得到 this.httpClient
is undefined` 我希望在服务的上下文中进行此调用,但它似乎试图在组件类的上下文中调用该方法。有任何想法吗?调用此方法的正确方法是什么?
您无法在支持的上下文之外调用注入方法(您可以在docs中阅读有关支持的上下文)。解决方案是将服务注入自定义组件内部并调用那里的方法。