我正在将一些数据从一个类传递到另一个类。我有一个按钮,在点击该按钮时会将数据传递给另一个没有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{
}
答案 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