如何在 TypeScript 中创建预定义的可接受的数组值?

net*_*djw 0 interface typescript type-definition

我在 TypeScript 中有这个对象:

validationRules: ValidationRuleInterface = {
  id: ['integer', 'required'],
  name: ['string', 'required', 'people_name'],
  city: ['string', 'nullable'],
};
Run Code Online (Sandbox Code Playgroud)

我想在数组中定义可接受的值。像这样的东西:

type Rule = string<'required' | 'nullable' | 'string' | 'integer' | 'people_name', null>;

interface ValidationRuleInterface {
  [key: string]: Rule[]
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在 TypeScript 中定义数组的可能值?

evo*_*nzz 7

你就快到了。简单地,将类型定义更改为

type Rule = 'required' | 'nullable' | 'string' | 'integer' | 'people_name' | null;
Run Code Online (Sandbox Code Playgroud)