如何将数据从一类传递到另一类?

时间:2019-05-29 11:27:12

标签: flutter

我正在将一些数据从一个类传递到另一个类。我有一个按钮,在点击该按钮时会将数据传递给另一个没有Route或Navigator的有状态类。

如何将按钮的数据“ onTap”从一个类传递到另一个类?

谢谢。

这是整个代码的链接:https://dpaste.de/mfyz#L456

我在有状态类上有此按钮,我想通过该按钮的标志ontap。

 new Expanded(child: Center(
                            child: !_canShowButton ? new MaterialButton(onPressed: (){
                              TabApp tab= new TabApp(valueReview);

                            },
                              child: new Text("Review For Submit",style: TextStyle(
                                  fontSize: 21.0,
                                  fontWeight: FontWeight.bold
                              ),),
                              color: Colors.greenAccent,
                              height: 43.0,
                              textColor: Colors.blue,
                              splashColor: Colors.red,):SizedBox()
                          )),

我有一个有状态的类,我想让一个标志通过:

class TabApp extends StatefulWidget {

   TabApp(int valueReview);



  @override
  _TabAppState createState() => _TabAppState();
  }

  class _TabAppState extends State<TabApp> with TickerProviderStateMixin{

   }

1 个答案:

答案 0 :(得分:0)

要像试图尝试的方式在类之间传递数据,应该研究诸如BLoC或ScopedModel(或许多其他可用选项之一)的架构模式。 ScopedModel非常简单明了。如果要使用标准库而不涉及其他包,则可以使用普通的InheritedWidget。我个人建议ScopedModel,因为它非常简单。如果以后确实要在路线之间传递数据,请确保将模型放在MaterialApp小部件(或CupertinoApp)上方。

class TabApp extends StatefulWidget {

   TabApp(int valueReview);

   final int valueReview;



  @override
  _TabAppState createState() => _TabAppState();
  }

  class _TabAppState extends State<TabApp> with TickerProviderStateMixin{

   }

然后使用widget.valueReview

在州内调用变量