ts怎么用type给非对象定义可选值呢?

如函数参数type,它的值只能为default、primary、danger、warning中的一个

阅读 532
4 个回答

如果为了规范可以用枚举

export enum ButtonType {
    Default = 'default',
    Primary = 'primary',
    Danger = 'danger',
    Warning = 'warning',
}

export function setButtonType(type: ButtonType): void {
    
}
// 其他文件可以导入此枚举或者方法
setButtonType(ButtonType.Primary);

也可以这样

type ButtonType = "default" | "primary" | "danger" | "warning";

snipaste_2024-03-07_22-06-03.png

(type:'default'|'primary'|'danger'|'warning')=>{}

这ts里的常规类型限制啊。

type ButtonType = 'warning' | 'info'

interface ButtonProps {
  type?: ButtonType
}

const props: ButtonProps = {}

props.type = 'info'  // 可以
props.type = 'other'  // 报错
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
Microsoft
子站问答
访问
宣传栏