我正在尝试在颤振中学习提供者。但我面临一个问题。我想File _image
从ChangeNotifier获取,但它显示错误。
这是 ChangeNotifierProvider
class ImagePicker extends ChangeNotifier {
File _image;
final picker = ImagePicker();
Future getImage({ImageSource source}) async {
final pickedFile = await picker.getImage(source: ImageSource.gallery);
if (pickedFile != null) {
_image = File(pickedFile.path);
} else {
print('No image selected.');
}
notifyListeners();
}
}
这是我想要获取该 _image 文件的 HomeScreen。
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Hello"),
),
body: Container(
child: Column(
children: [
Text("Select a image"),
Image.file(Provider.of<ImagePicker>(context)._image),
IconButton(
icon: Icon(Icons.camera),
onPressed: () {
Provider.of<ImagePicker>(context).getImage();
})
],
),
),
);
}
}
它向我展示了-没有为类型“ImagePicker”定义吸气剂“_image”。尝试导入定义“_image”的库,将名称更正为现有 getter 的名称,或定义名为“_image”的 getter 或字段。
请帮助我解决此错误。并解释发生了什么。