我正在使用FloatingActionButton,如您所见,如果List的大小大于0,我希望它出现,当List为0时,它消失
我有一个将项目添加到该列表的 View
但不幸的是,该脚本仅执行一次,并且始终不监听List的大小。

class EventDetailsPage extends StatelessWidget {
  final Event event;
  const EventDetailsPage({Key key, this.event}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      extendBodyBehindAppBar: true,
      body: Provider<Event>.value(
        value: event,
        child: Stack(
          fit: StackFit.expand,
          children: <Widget>[
            EventDetailsBackground(),
            EventDetailsContent(),
          ],
        ),
      ),

      floatingActionButton: new Visibility(
        visible: qrList.length>0?true:false,
        child: new FloatingActionButton.extended(
          onPressed: (){
            qrList = qrList.toSet().toList();
          },
          label: Text('GENERAR QR',),
          backgroundColor: Colors.pink,
        ),
      ),

    );
  }
}```

最佳答案

尝试以下方法,让我知道它是否有效,

floatingActionButton: qrList.length>0 ? FloatingActionButton.extended(
      onPressed: (){
        qrList = qrList.toSet().toList();
      },
      label: Text('GENERAR QR',),
      backgroundColor: Colors.pink,
  ): SizedBox.shrink(),

07-24 09:49