【发布时间】:2022-04-28 09:58:33
【问题描述】:
我有以下示例代码sn-p:
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'
});
有没有办法定义Color,以便它只允许匹配以下模式之一的字符串?
#FFF#FFFFFFrgb(5, 5, 5)rgba(5, 5, 5, 1)hsa(5, 5, 5)
我知道有 red 和 white 这样的颜色,但如果 Color 可以接受这些颜色,这可能会让这个问题更难回答。
【问题讨论】:
-
对于正在寻找答案的人,我在 answer 中针对另一个类似问题实施了颜色检查类型。
标签: typescript types