我有以下示例代码段:
type Color = string; interface Props { color: Color; text: string; } function Badge(props: Props) { return `<div style="color:${props.color}">${props.text}</div>`; } var badge = Badge({ color: '#F00',text: 'Danger' }); console.log(badge);
var badge = Badge({ color: 'rgba(100,100,100)',text: 'Danger' });
有没有办法定义颜色,以便它只允许匹配以下模式之一的字符串?
> #FFF
> #FFFFFF
> rgb(5,5,5)
> rgba(5,1)
> hsa(5,5)
我意识到有红色和白色等颜色,但如果Color可以接受那些颜色,那么这可能会更难回答.
解决方法
有一个
a type of string which matches a pattern(正则表达式或其他)的提案,但该提案尚未实现.
因此,从TypeScript 2.2开始,您要求的内容很不可能.