大佬教程收集整理的这篇文章主要介绍了在 Flutter 中将变量传递给函数时 setState 不更新,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
当我将变量传递给具有 setState 方法的函数时,它不会更新,当我直接从同一个函数调用该变量时,它工作正常,我不确定我在这里做错了什么:>
_startfilePicker(Uint8List chosenfile,var color,IconData iconData) async {
inputElement uploadinput = fileUploadinputElement();
uploadinput.click();
uploadinput.onChange.Listen((E) {
// read file content as dataURL
final files = uploadinput.files;
if (files.length == 1) {
final file = files[0];
fileReader reader = fileReader();
reader.onLoadEnd.Listen((E) {
setState(() {
print("on load set state");
chosenfile = reader.result;
iconData = Icons.done;
color = colors.green[500];
});
});
reader.onError.Listen((fileEvent) {
setState(() {
print("error");
//"Some Error occured while reading the file";
});
});
reader.readAsArrayBuffer(filE);
}
});
}
当我调用 _startfilePicker(attachmentOne,firstAttachmentcolor,firstAttachment) 时,变量不会在函数中调用的 setState 方法中更新,但是当我像这样直接在函数内部调用这些变量时:
reader.onLoadEnd.Listen((E) {
setState(() {
print("on load set state");
attachmentOne = reader.result;
firstAttachment = Icons.done;
firstAttachmentcolor = colors.green[500];
});
});
调用这个函数的按钮:
Elevatedbutton(
child: Icon(iconda),onpressed: () => setState(() {
_startfilePicker(chosenfile,color,iconda);
}),style: buttonStyle(
BACkgroundcolor:
MaterialStateProperty.all<color>(color),),
任何见解将不胜感激。
注意:所有代码和变量都处于同一个类状态。
谢谢,
试试这个。
_startFilePicker(Uint8List chosenFile,var color,IconData iconData) async {
InputElement uploadInput = FileUploadInputElement();
uploadInput.click();
uploadInput.onChange.listen((E) {
// read file content as dataURL
final files = uploadInput.files;
if (files.length == 1) {
final file = files[0];
FileReader reader = FileReader();
reader.onLoadEnd.listen((E) {
print("on load set state");
chosenFile = reader.result;
iconData = Icons.done;
color = Colors.green[500];
setState((){});
});
reader.onError.listen((fileEvent) {
print("error");
//"Some Error occured while reading the file";
});
reader.readAsArrayBuffer(filE);
} });
,/Users/sergio/chromedriver
只需调用 renderr();
这应该会给你一个想法
以上是大佬教程为你收集整理的在 Flutter 中将变量传递给函数时 setState 不更新全部内容,希望文章能够帮你解决在 Flutter 中将变量传递给函数时 setState 不更新所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。