Flutter 动态类型参数
Flutter dynamic type argument
我正在尝试将动态类型参数传递给 Provider.of<T>(context)
我的代码
class CustomInputField extends StatelessWidget {
final Type stateClass;
CustomInputField({
Key key,
this.stateClass,
}) : super(key: key);
@override
Widget build(BuildContext context) {
var state = Provider.of<stateClass>(context);
return TextFormField(
key: state.key,
...
);
}
}
但这给了我以下错误:
The name 'stateClass' isn't a type so it can't be used as a type argument.
Try correcting the name to an existing type, or defining a type named 'stateClass'.
有人知道如何正确执行此操作吗?
这可能不是一个好的做法,或者甚至是不可能的。但问题是,我想为我的应用程序中的所有输入字段制作一个 CustomInputField
小部件。我正在使用 Provider 包中的 ChangeNotifierProvider
class 并希望将不同的状态传递给此 CustomInputField
小部件
您不能在 Dart 中将类型动态传递给泛型。唯一的方法是在泛型中使用不同类型的 switch/if-else 块和 return 对象。
我正在尝试将动态类型参数传递给 Provider.of<T>(context)
我的代码
class CustomInputField extends StatelessWidget {
final Type stateClass;
CustomInputField({
Key key,
this.stateClass,
}) : super(key: key);
@override
Widget build(BuildContext context) {
var state = Provider.of<stateClass>(context);
return TextFormField(
key: state.key,
...
);
}
}
但这给了我以下错误:
The name 'stateClass' isn't a type so it can't be used as a type argument. Try correcting the name to an existing type, or defining a type named 'stateClass'.
有人知道如何正确执行此操作吗?
这可能不是一个好的做法,或者甚至是不可能的。但问题是,我想为我的应用程序中的所有输入字段制作一个 CustomInputField
小部件。我正在使用 Provider 包中的 ChangeNotifierProvider
class 并希望将不同的状态传递给此 CustomInputField
小部件
您不能在 Dart 中将类型动态传递给泛型。唯一的方法是在泛型中使用不同类型的 switch/if-else 块和 return 对象。