flutter - 错误:“Widget”类型的值不能分配给“File”类型的变量
问题描述
'File _image' 在类 State 中声明,编码意味着在 Widget 主体中声明为 'null -> image'(同步?)。但这种编码是不合适的。我应该怎么办?
我什么都做不了。
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';
class CreatePage extends StatefulWidget {
..@override
...._CreatePageState createState() => _CreatePageState();
}
class _CreatePageState extends State<CreatePage> {
..final textEditingController = TextEditingController();
..File _image;
..@override
..void dispose() {
....textEditingController.dispose();
....super.dispose();
..}
..@override
..Widget build(BuildContext context) {
....return Scaffold(
......appBar: _buildAppBar(),
......body: _buildBody(),
......floatingActionButton: FloatingActionButton(onPressed: _getImage,
......child: Icon(Icons.add_a_photo),
....),
....);
..}
..Widget _buildAppBar() {
....return AppBar(
......actions: <Widget>[
........IconButton(
..........icon: Icon(Icons.send), onPressed: () {},
..)
..],
..);
..}
Widget _buildBody() {
..return SingleChildScrollView(
.....child: Column(
.....children: <Widget>[
_image = null ? Text('No image'): Image.file(_image), // problem coding
.....TextField(
.....decoration: InputDecoration(hintText: 'write context'),
.....controller: textEditingController,
..)
..],
..),
..);
..}
Future _getImage() async {
..File image = await ImagePicker.pickImage(source: ImageSource.gallery);
..setState(() {
.._image = image;
..});
..}
..}
我看到图像的选择,比如 instargram 的文字。
解决方案
代替
_image = null ? Text('No image'): Image.file(_image), // problem coding
和
_image == null ? Text('No image'): Image.file(_image), // problem solved
推荐阅读
- angular - Angular 材质可排序表 - 始终显示排序图标(不仅在悬停时)
- prolog - Prolog - 递归地构建术语列表,仅包括某些术语
- json - FormData 附加 JSON
- reactjs - 如何在反应大日历中选择多天
- python - 使用 Python (Pandas?) 删除 SQL Server 数据库中的所有行
- data-structures - 创建命名结构的静态可迭代集合的惯用方法?
- javascript - 如何使用Javascript将字符串中的所有“/”替换为“-”
- c++ - 如何让 msvc 将 c++ 源代码嵌入 pdbs 以便于调试?
- ios - IOS APP的深度链接或通用链接
- node.js - 如何在 Google Drive Filestream 中创建 node.js 项目