为什么每次将ListView添加到Column时,所有小部件都消失了?

时间:2020-10-08 00:30:59

标签: flutter flutter-layout flutter-web

我正在制作Flutter Web App,我有类似的东西

class _HomeViewState extends State<HomeView> {
  @override
  Widget build(BuildContext context) {
     var posts = Provider.of<List<Post>>(context);
  List<int> l =[1,2,3,4];
    return Scaffold(
      backgroundColor: Colors.white,
      appBar: TheAppBaar,
      body: SingleChildScrollView(
            scrollDirection: Axis.vertical,
            child: Container(child: Padding(
              padding:  EdgeInsets.all(20.0),
              child: Column(

                children: [
                  CreatePost(connUserUid: widget.user.uid, connUserImage:
                  userFetched.get('profileImage').toString(),
                    connUserFullname: userFetched.get('fullName').toString(),),
                  SizedBox(height: 10,),

                 ListView.separated(itemBuilder: (BuildContext context, int
                      index) {
                    return Container(
                      height: 150,
                      child: Text('${l[index]}'),
                    );
                  },
                      separatorBuilder:
                  (BuildContext context, int index) => Divider(), 
                   itemCount: l.length)
               ],
              ),
             ),
            ),
           ),
          );
        }
}

每次我要显示带有已获取的帖子或任何内容的ListView时,创建帖子的方法和该大小框都会消失,并且列表也不会显示。

 @override
  Widget build(BuildContext context) {
    return  Align(
      alignment: Alignment.center,
      child: Container(
        width: 400,
        decoration: BoxDecoration(
            color: Colors.white,
            borderRadius: BorderRadius.all(Radius.circular(10)),
            boxShadow: [BoxShadow(
                color:kPrimaryColor.withOpacity(0.2),
                spreadRadius: 2,
                blurRadius: 3,
                offset: Offset(0,3)
            )]
        ),
        child: Padding(
          padding: EdgeInsets.all(20),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: [
              Align(
                alignment: Alignment.center,
                child: Container(
                  height: 50,
                  child: Image.network(widget.connUserImage),
                ),
              ),
              Align(
                alignment: Alignment.center,
                child: Container(width: 30,child: Divider(
                  color: kPrimaryColor,
                  thickness: 2,
                ),),
              ),
              SizedBox(height: 8,),

              TextField(
                maxLines: 5,
                decoration: InputDecoration(
                  errorText: errorTextMessage,
                    border: OutlineInputBorder(
                        borderSide: BorderSide(color: kPrimaryColor)
                    ),
                    labelText: 'Yadda, Yadda, Yadda...'
                ),
                onChanged: (String value) {
                  setState(() {
                    postDescription = value;
                    errorTextMessage = null;
                    spinner = false;
                  });
                },
              ),
              SizedBox(height: 12,),
              Row(
                mainAxisAlignment: MainAxisAlignment.spaceBetween,
                children: [
                  Row(
                    children: [
                      IconButton(
                        icon: Icon(Icons.add_a_photo_rounded, color: Color
                (0xFFE53E00),
                          size:
                          25,),
                        onPressed: () {
                         imagePicker();

                        },
                      ),
                      SingleChildScrollView(
                        scrollDirection: Axis.horizontal,
                        child: imageInfo == null ? Container() : Text(imageInfo.fileName),
                      )
                    ],
                  ),
                  Icon(Icons.pin_drop_rounded, color: Color(0xFF0077e5),
                    size:
                    25,),
                  Icon(Icons.map_rounded, color: Color(0xFF26c118),
                    size: 25,),
                 spinner? Padding(
                   padding:  EdgeInsets.all(15.0),
                   child: CircularProgressIndicator(backgroundColor: kPrimaryColor,),
                 ) :
                 IconButton(icon:
                 Icon(Icons
                     .arrow_forward_ios_outlined,
                    color:
                  kPrimaryColor,size: 25,), onPressed: ()  {

                  

                  },),
                ],
              )
            ],
          ),
        ),
      ),
    );
  }

这是CreatePost方法,只是一个“卡片”, 如果我使ListView全部消失,但是如果在第一个代码的“列”中,我将1加1个PostView,则显示它们。我不明白怎么了我应该删除那些“对齐”还是不知道。在我的控制台中,我没有任何错误。 预先谢谢你!

0 个答案:

没有答案