Flutter ToDo App 中需要一个标识符
Expected an identifier in Flutter ToDo App
我目前正在学习 Flutter 中的 ToDo-App 教程。使用“复选框”-Function 的代码(用于显示您是否已完成任务),我收到以下错误:
需要一个标识符。
这是代码:
import 'package:flutter/material.dart';
class Check extends StatelessWidget {
final bool? isActive;
const Check({Key? key, this.isActive}) : super(key: key);
@override
Widget build(BuildContext context) {
if (isActive ??){
return Container(
width: 30,
height: 30,
decoration: BoxDecoration(
shape: BoxShape.circle,
color: Colors.green,
),
child: Icon(
Icons.check,
size: 20,
color: Colors.white,
),
);
} else {
return Container(
width: 30,
height: 30,
decoration: BoxDecoration(
shape: BoxShape.circle,
color: Colors.white,
),
child: Icon(Icons.check, size: 20, color: Colors.white),
);
}
}
}
如果你能在这方面支持我,我将不胜感激。我刚开始接触 flutter 并在所有我能想到的地方搜索如何解决这个问题,但找不到任何东西。
您缺少第 9 行的第二个表达式
if (isActive ?? false)
那个??运算符表示如果 expr1 为非空,returns 它的值;否则,计算并 returns expr2 的值。
expr1 ?? expr2
您的第一个条件似乎缺少一个操作数
Widget build(BuildContext context) {
if (isActive ?? false) { <<<
return Container(
...
你可以查看这个nullable operators article
更好的方法是使 isActive
不可为空并为其提供默认值 false
。
class Check extends StatelessWidget {
final bool isActive;
const Check({
Key? key,
this.isActive = false,
}) : super(key: key);
// ....
}
Avoid Nullable values when possible.
我目前正在学习 Flutter 中的 ToDo-App 教程。使用“复选框”-Function 的代码(用于显示您是否已完成任务),我收到以下错误: 需要一个标识符。
这是代码:
import 'package:flutter/material.dart';
class Check extends StatelessWidget {
final bool? isActive;
const Check({Key? key, this.isActive}) : super(key: key);
@override
Widget build(BuildContext context) {
if (isActive ??){
return Container(
width: 30,
height: 30,
decoration: BoxDecoration(
shape: BoxShape.circle,
color: Colors.green,
),
child: Icon(
Icons.check,
size: 20,
color: Colors.white,
),
);
} else {
return Container(
width: 30,
height: 30,
decoration: BoxDecoration(
shape: BoxShape.circle,
color: Colors.white,
),
child: Icon(Icons.check, size: 20, color: Colors.white),
);
}
}
}
如果你能在这方面支持我,我将不胜感激。我刚开始接触 flutter 并在所有我能想到的地方搜索如何解决这个问题,但找不到任何东西。
您缺少第 9 行的第二个表达式
if (isActive ?? false)
那个??运算符表示如果 expr1 为非空,returns 它的值;否则,计算并 returns expr2 的值。
expr1 ?? expr2
您的第一个条件似乎缺少一个操作数
Widget build(BuildContext context) {
if (isActive ?? false) { <<<
return Container(
...
你可以查看这个nullable operators article
更好的方法是使 isActive
不可为空并为其提供默认值 false
。
class Check extends StatelessWidget {
final bool isActive;
const Check({
Key? key,
this.isActive = false,
}) : super(key: key);
// ....
}
Avoid Nullable values when possible.