Jam*_*aid 2 implicit-conversion dart flutter
我有一个从 JSON 导出的不同类型值的列表。
class StudentDetailsToMarkAttendance {
int att_on_off_status;
String name;
String reg_number;
int status;
StudentDetailsToMarkAttendance(
{this.att_on_off_status, this.name, this.reg_number, this.status});
factory StudentDetailsToMarkAttendance.fromJson(Map<String, dynamic> json) {
return StudentDetailsToMarkAttendance(
att_on_off_status: json['att_on_off_status'],
name: json['name'],
reg_number: json['reg_number'],
status: json['status'],
);
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['att_on_off_status'] = this.att_on_off_status;
data['name'] = this.name;
data['reg_number'] = this.reg_number;
data['status'] = this.status;
return data;
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用status的值作为Checkbox. 我正在尝试解析int为String喜欢这个。
value:((widget.studentDetailsList[index].status = (1 ? true : false) as int)as bool)
Run Code Online (Sandbox Code Playgroud)
但是这个转换似乎有问题。我没有得到在飞镖中转换int为的确切方法bool。它说
条件必须具有“bool”的静态类型。
要在 Dart 中将int转换为 bool,可以使用三元运算符:
myInt == 0 ? false : true;
Run Code Online (Sandbox Code Playgroud)
要在 Dart 中将bool转换为 int,可以使用三元运算符:
myBool ? 1 : 0;
Run Code Online (Sandbox Code Playgroud)
int我知道这是一个老问题,但我认为这是从 转换为 的干净方法bool:
myBool = myInt.isOdd;
Run Code Online (Sandbox Code Playgroud)
或者零安全性
myBool = myInt?.isOdd ?? false;
Run Code Online (Sandbox Code Playgroud)
尝试这个:
value: widget.studentDetailsList[index].status == 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6680 次 |
| 最近记录: |