假设
ManageBookingPage
小部件需要一个名为 trip
的对象作为参数。但是这个小部件能够修改接收到的参数,使其变为 null (trip = null)
。
当
trip
变为空时,我想将这个小部件从树中弹出。实现这一目标的最佳方法是什么?
class ManageBookingPage extends StatefulWidget {
const ManageBookingPage({
super.key,
required this.trip,
});
final BusTrip trip;
@override
State<ManageBookingPage> createState() => _ManageBookingPageState();
}
class _ManageBookingPageState extends State<ManageBookingPage> {
@override
Widget build(BuildContext context) {
return SizedBox(
child: Text(widget.trip.date.toString()),
);
}
您可以使用 Offstage Widget 来实现此目的。
import 'package:flutter/material.dart';
class ManageBookingPage extends StatefulWidget {
const ManageBookingPage({
super.key,
required this.trip,
});
final BusTrip trip;
@override
State<ManageBookingPage> createState() => _ManageBookingPageState();
}
class _ManageBookingPageState extends State<ManageBookingPage> {
@override
Widget build(BuildContext context) {
return Offstage(
offstage: trip == null,
child: SizedBox(
child: Text(widget.trip.date.toString()),
),
);
}
}