学习Flutter并提出了这个问题。我不知道如何引用小部件自己的数据。我的解决方案可能不是最佳解决方案。
class ClassA extends StatelessWidget {
void myFunction(MyDataClass data) {...}
@override
Widget build(Buildcontext context) {
return ClassB(
data: MyDataClass(...),
onTap: myFunction(???),
);
}
}
我需要将ClassB的数据(MyDataClass)传递给函数myFunction。有什么办法可以做到这一点?
答案 0 :(得分:0)
我认为您正在寻找类似的舒缓方法。尝试此方法
class ClassB extends StatelessWidget {
Function(MyDataClass) onTap;
ClassB(this.onTap);
@override
Widget build(BuildContext context) {
return RaisedButton(
onPressed: () {
MyDataClass yourData = MyDataClass(...);
onTap(yourData);
},
)
}
}
class ClassA extends StatelessWidget {
void myFunction(MyDataClass data) {...}
@override
Widget build(Buildcontext context) {
return ClassB(
data: MyDataClass(...),
onTap: myFunction,
);
}
}
答案 1 :(得分:0)
我敢肯定有一种更聪明的方法可以做到这一点,但至少可以奏效:
class ClassA extends StatelessWidget {
void myFunction(MyDataClass data) {...}
MyDataClass someData = MyDataClass(...);
@override
Widget build(Buildcontext context) {
return ClassB(
data: someData,
onTap: () => myFunction(someData),
);
}
}