首页 > 解决方案 > Nestjs applyDecorators 用于多个装饰器

问题描述

我想创建自定义装饰器applyDecorators导入自@nestjs/common

...

applyDecorators(
  @Field(),
  @MinLength(2)
)

...

但是我遇到了打字稿 lint 错误。如何创建一个包含多个装饰器的自定义装饰器?

https://docs.nestjs.com/custom-decorators

"class-validator": "^0.11.0"
"@nestjs/common": "^7.0.9"

标签: nestjsclass-validatorclass-transformer

解决方案


您可以使用方法定义自定义装饰器applyDecorators方法。

applyDecorators方法接受PropertyDecorator作为参数。所以请确保将它们转换为PropertyDecorator.

export const NameField = (options?: FieldOptions) =>
  applyDecorators(
    Field() as PropertyDecorator, // convert to PropertyDecorator
    MinLength(2) as PropertyDecorator // convert to PropertyDecorator
  )
)

推荐阅读