Setstate不会更新UI Flutter



我正在尝试在statefulbuilder函数中更新小部件的可见性,以前工作得很好,但现在它只在我重新加载后更新,我只把一堆小部件放在不同的小部件中以缩短代码

此示例可能有助于您了解如何更改小部件状态;

class TestWidget extends StatefulWidget {
const TestWidget({Key? key}) : super(key: key);
@override
State<TestWidget> createState() => _TestWidgetState();
}
class _TestWidgetState extends State<TestWidget> {
bool visible = true;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
visible
? const Text(
'TEXT WIDGET BECOMES ONLY VISIBLE WHEN BOOLEAN VARIABLE VISIBLE BECOMES TRUE',
)
: const SizedBox(),
Switch(
value: visible,
onChanged: (value) {
setState(() {
visible = value;
});
},
),
],
),
);
}
}

每当您想要更新某些内容时,无论是在StatefulBuilder函数中还是在StatefulWidget中,您都必须使用setState(() {});

最新更新