英文:
Dart callback isn't defined for the type _SignaturePadState
问题
I'm trying to use callback for dart to retrieve value from a child in dart if the user already input their signature. This is what i have but the callback function is highlighted in red when I try to use it stating:
我正在尝试在Dart中使用回调来从子组件中检索值,以确定用户是否已输入他们的签名。这是我的代码,但当我尝试使用回调函数时,它显示为红色,并显示以下错误信息:
The method 'callback' isn't defined for the type '_SignaturePadState'.
方法'callback'未定义于类型'_SignaturePadState'。
Callback returns a boolean value based on the api response. This is what I have.
回调函数根据API响应返回一个布尔值。这是我的代码。
PARENT(父组件)
bool hasSigned = false;
bool _updateValueSigned(bool value) {
setState(() {
hasSigned = value;
});
return value;
}
CHILD(子组件)
class SignaturePad extends StatefulWidget {
final void Function(bool) callback;
SignaturePad({required this.callback});
@override
_SignaturePadState createState() => _SignaturePadState();
}
@override
Widget build(BuildContext context) {
//.... other codes
body: Container(
padding: const EdgeInsets.all(18),
//... lines of code
ElevatedButton(
onPressed: () async {
callback(true); // this line throws the error mentioned above.
},
child: Text('Save'.toUpperCase()),
style: ElevatedButton.styleFrom(
backgroundColor: Theme.of(context).primaryColor,
),
),
Can anyone help me figure this out?
谁能帮我解决这个问题?
英文:
I'm trying to use callback for dart to retrieve value from a child in dart if the user already input their signature. This is what i have but the callback function is highlighted in red when I try to use it stating:
The method 'callback' isn't defined for the type '_SignaturePadState'.
Callback returns a boolean value based on the api response. This is what I have.
PARENT
bool hasSigned = false;
bool _updateValueSigned(bool value) {
setState(() {
hasSigned = value;
});
return value;
}
CHILD
class SignaturePad extends StatefulWidget {
final void Function(bool) callback;
SignaturePad({required this.callback});
@override
_SignaturePadState createState() => _SignaturePadState();
}
@override
Widget build(BuildContext context) {
//.... other codes
body: Container(
padding: const EdgeInsets.all(18),
//... lines of code
ElevatedButton(
onPressed: () async {
callback(true); // this line throws the error mentioned above.
},
child: Text('Save'.toUpperCase()),
style: ElevatedButton.styleFrom(
backgroundColor: Theme.of(context).primaryColor,
),
),
Can anyone help me figure this out?
答案1
得分: 1
你正在尝试从状态类中调用小部件变量,将会是
// widget.variableName
widget.callback(true);
英文:
You are trying to call widget variable from state class, It will be
// widget.variableName
widget.callback(true);
答案2
得分: 0
当你想要使用从状态类声明的小部件变量时,你需要像这样写://widget.variable
,在你的情况下,它将是:
widget.callback(true);
英文:
Whenever You want to use widget variable declare from state class, you need to
write like this //widget.variable, In ur case it will be
widget.callback(true);
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论