创建大小为枚举道具的按钮



我有一个值为的枚举

enum BUTTON_SIZE {
large = 'large',
medium = 'medium',
small = 'small',
}

和一种类型:

type ButtonSizeProps = {
size: BUTTON_SIZE | 'large';
};

我想根据我通过的道具显示一个按钮大小:

export const ButtomComponent = ({ size }: ButtonSizeProps) => {
return (
<Pressable onPress={() => {}}>
<View style={styles.container}>
<View
style={[
styles.layout,
size.large && { paddingVertical: 10, paddingHorizontal: 40 },
size.medium && { paddingVertical: 10, paddingHorizontal: 20 },
size.small && {
paddingTop: 5,
paddingBottom: 6,
paddingHorizontal: 10,
},

关于我做错了什么,有什么建议吗?

我遇到了类似的问题,所以我不得不创建这样的类型

type ButtonSizeType= {
[key in BUTTON_SIZE ]: string;
};

然后在传递按钮的大小时使用ButtonSizeType作为类型。

最新更新