gpt4 book ai didi

flutter - 类参数设置中的多个if语句

转载 作者:行者123 更新时间:2023-12-02 17:03:20 26 4
gpt4 key购买 nike

我知道在最新版本的 dart 中,我们可以在构建方法中使用 if else 语句。有谁知道我们在设置类参数时是否也可以使用 if else 语句?我知道我可以在那里做内联语句,但是当有多个条件时,内联有点难以阅读

const int i = 0;
class Person {
// NewClass n = NewClass(a: i == 0 ? 'a' : 'b'); //<- inline statement working
NewClass n = NewClass(a: if(i == 0) 'a' else 'b'); //<- if statement doesn't
}

class NewClass {
final String a;
const NewClass({this.a});
}

编辑:

基本上在我的例子中,我有一个 TextField 小部件,我从枚举中设置其类型参数(Type.text、Type.numeric...) 根据此参数,我想设置 textField 参数(textCapitalization、maxLength 和等等)

最佳答案

根据您的评论,您已经创建了一个枚举来指定字段的类型。

enum Type {text, numeric}

现在,为了指定该特定类型的属性,您可以在此枚举上添加扩展,如下所示:

extension TextFieldProperties on Type {
int get maxLength {
if (this == Type.text) {
return 10;
}
return 12;
}
}

因此,在您的字段类中,您已经定义了一个类型,您可以使用该类型变量来获取该特定类型字段的属性。

Type type = Type.text;
print(type.maxLength); // Will print 10
type = Type.numeric;
print(type.maxLength); // Will print 12

注意:仅适用于 Dart 2.7 及更高版本

关于flutter - 类参数设置中的多个if语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61224086/

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