gpt4 book ai didi

flutter - Dart 中的字符串文字类型模拟

转载 作者:行者123 更新时间:2023-12-05 05:08:03 25 4
gpt4 key购买 nike

我知道在 Dart 中没有像这样的字符串文字类型:

interface IButtonProps {
readonly variant: 'primary' | 'secondary'
readonly size: 'small' | 'regular' | 'big' | 'a little bigger than usually'
}

const Button:FC<IButtonProps> = ({variant, size}) => {
// ...
}

但是,如果我真的希望该按钮仅接受主要/次要变体,并在我编写库时向我/我的团队/社区建议变体,我的选择是什么?

我知道我可以断言 props 但在编辑器中不会有任何建议,只有在编译时才会出错。那么我可以做些什么来获得该功能吗?比如创建一个 ButtonVariants 类并只接受它的字段/创建枚举/列表/设置/其他我不知道的......

我真的需要任何形式的严格输入,而不是创建像 PrimaryButton SecondaryButton SmallPrimaryButton 这样的 hell 小部件......

请注意,这个愚蠢的 primary/secondary 只是一个例子。

最佳答案

你可以像这样使用枚举器

enum ButtonType { primary, secondary }
enum ButtonSize { small, regular, big }

class Button {
final ButtonType type;
final ButtonSize size;

AbstractButton(this.type, this.size);
}

如果你正在使用 flutter,请从小部件类扩展你的类

关于flutter - Dart 中的字符串文字类型模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58578837/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com