最近,我面臨這個問題,但我不知道它是什么。我得到了這個錯誤。 引數型別'dynamic Function(bool)?'不能分配給引數型別'void Function(bool?)?
我哪里出錯了?
我哪里出錯了?
我哪里出錯了?
class GroceryTile extends StatelessWidget {
GroceryTile({Key? key, required this.item, required this.onComplete})
: textDecoration = item.isComplete != null ?
? TextDecoration.lineThrough
: TextDecoration.none。
super(key: 關鍵)。
final GroceryItem item;
final Function(bool) onComplete;
final TextDecoration textDecoration;
@override
Widget build(BuildContext context) {
return Container(
高度。100.0。
// TODO: 20 替換這個顏色。
color: Colors.red,
);
}
小工具 buildCheckbox() {
return Checkbox(
value: item.isComplete,
onChanged: **onComplete** //error is occurring here
);
}
}
uj5u.com熱心網友回復:
final void Function(bool?)? onComplete
Checkbox是一個無效的函式,所以你也應該在OnComplete的宣告中寫上void,如果你不使用nullsafety的話,就去掉這個符號?
uj5u.com熱心網友回復:
你的成員onComplete的型別
void Function(bool)
它需要是
void Function(bool?)
它必須能夠處理一個空引數。
它必須能夠處理一個空引數。
uj5u.com熱心網友回復:
錯誤發生是因為復選框onChanged方法需要一個Function(bool?)?但你提供了一個dynamic Function(bool)?。void Function(bool?)?意味著復選框onChanged方法的值可以是一個null或一個引數為空的函式。
簡單地改變你的onChange方法的簽名就可以解決這個問題。
final void Function(bool?) onComplete;
最好在這類錯誤中查看檔案,以找出正確的函式簽名。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/329151.html
標籤:
