我想弄清楚widget.onChanged
ofRadioListTile<T>
是否不为空,但似乎 dart 在泛型方面非常严格,有什么建议可以检查吗?
(我对 Fluter/Dart 还不太熟悉)
void testWidgetOnNUllDynamic(dynamic clbk) {
if (clbk != null) {
print('not null');
}
}
void testWidgetOnNUllCallback(Widget widget) {
if (widget is RadioListTile) {
// if (widget.onChanged != null) {
// //type '(String?) => void' is not a subtype of type '((dynamic) => void)?'
// print('Crash here');
// }
//attempt to erase the type
testWidgetOnNUllDynamic(widget.onChanged);
}
}
//This method is redundant
void testIfOnChangeIsNull(Widget widget) {
testWidgetOnNUllCallback(widget);
}
test('when widget is RadioListTile onChange test', () {
// <String> - Can be anything
RadioListTile<String> widget = RadioListTile(value: 'value', activeColor: 0, toggleable: true, onChanged:(value) => debugPrint('Test'), groupValue: null,);
testIfOnChangeIsNull(widget);
});
我认为我理解这个错误,但我不确定如何避免它,或者如何在不将其转换为具体类型的情况下检查可球性在这里
问了同样的问题
谢谢