我有一個小部件:
class MyWidget extends StatelessWidget {
final Color? color;
final EdgeInsetsGeometry? padding;
final Widget child;
// ... many more properties
const MyWidget({
super.key,
this.color = Colors.blue,
this.padding = const EdgeInsets.all(4),
required this.child,
});
@override
Widget build(BuildContext context) {
return Container(
color: color,
padding: padding,
child: child,
);
}
}
我還有另一個小部件,它SliverToBoxAdapter像這樣包裝上面的小部件:
class MySliverWidget extends MyWidget {
MySliverWidget({
super.color,
super.padding,
required super.child,
// ... many more properties
});
@override
Widget build(BuildContext context) {
// Unable to use "child: super".
return SliverToBoxAdapter(child: super);
}
}
但問題是我無法在子小部件 () 中使用父小部件 ( )MyWidget實體。superMySliverWidget
所以,問題是我如何訪問MyWidget里面的實體MySliverWidget?
筆記:
在
MySliverWidget.build()方法中,我不想使用child: MyWidget(...)并將所有引數傳遞給它(這是多余的)。我也不會簡單地使用
SliverToBoxAdapter(child: MyWidget(...))而不是MySliverWidget首先使用 a 。
uj5u.com熱心網友回復:
也許像這樣:
return SliverToBoxAdapter(child: super.build(context));
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/517375.html
標籤:扑镖
