如何仅接受Angular @Input中的预定义值

时间:2017-09-15 18:02:52

标签: angular typescript parameters enums

我的问题是我在a中收到一个字符串值作为组件的参数,但是我想限制可以用作参数的值,就像enum

一样

我用

@Input() type: string = '';

但是在组件中,所有内容都可以引入type属性,我需要将其限制为3个选项,如前所述,如Enum

2 个答案:

答案 0 :(得分:3)

创建Enum并将input的类型设置为枚举。如果它是枚举中的值之一,则会传递您的值,否则它将为undefined

enum MyEnum {
    First,
    Second,
    Third
}

@Input() type: MyEnum;

答案 1 :(得分:1)

试试这个:

@Input() type: 'acceptable1' | 'acceptable2' | 'acceptable3';

这使用typescript联合类型,允许任何列出的类型。 a或b或c等

或使用TS enum