Flutter setState不更新新数据[bidirectional_scroll_view]

问题描述 投票:0回答:1

一个简单的带有字符串值的类,在单击按钮时会更新其状态,在所有情况下都可以使用,但是只要子级位于bidirectional_scroll_view中,它都会拒绝更新新值。

import 'package:bidirectional_scroll_view/bidirectional_scroll_view.dart';
import 'package:flutter/material.dart';


class EmptyPage extends StatefulWidget{
  String title = 'Sample';
  @override
  _EmptyPageState createState() => _EmptyPageState();
}

class _EmptyPageState extends State<EmptyPage> {
  String text;


  @override
  void initState() {
    super.initState();
    text = 'before';
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Container(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[
            IconButton(
              icon: Icon(Icons.change_history),
              onPressed: (){
                setState(() {
                  this.text = 'after';
                });
              },
            ),

            Expanded(
              child: BidirectionalScrollViewPlugin(
                  child: Text(text)),
            ),
          ],
        ),
      )
    );
  }

}



[另外:除非再次打开页面,否则不会使用热重载更新对此插件中的代码所做的更改。

flutter dart flutter-layout
1个回答
0
投票

请尝试这个...

   @override
   Widget build(BuildContext context) {
     return Scaffold(
         appBar: AppBar(
           title: Text(widget.title),
         ),
         body: Container(
           child: Column(
             mainAxisSize: MainAxisSize.min,
             children: <Widget>[
               IconButton(
                 icon: Icon(Icons.change_history),
                 onPressed: () {
                   setState(() {
                     text = 'after';
                   });
                 },
               ),
               Expanded(
                 child: BidirectionalScrollViewPlugin(child: Text(text)),
 //                child: Text(text),
               ),
             ],
           ),
         ));
   }
© www.soinside.com 2019 - 2024. All rights reserved.