dart 没有为类型“ScaffoldState”定义方法“showSnackBar”

zzlelutf  于 2022-12-25  发布在  其他
关注(0)|答案(1)|浏览(299)

为什么showSnackBar给出上述错误。“

IconButton(
  icon: const Icon(Icons.content_copy),
  iconSize: 24,
  onPressed: () {
    Clipboard.setData(ClipboardData(text: transaction.transCode));
    scaffoldKey.currentState?.showSnackBar(SnackBar(
      backgroundColor: Theme.of(context).iconTheme.color,
      content: Tooltip(
        message: Utils.getString(context, 'transaction_detail__copy'),
        child: Text(
          Utils.getString(context, 'transaction_detail__copied_data'),
          style: Theme.of(context)
              .textTheme
              .headline6!
              .copyWith(color: PsColors.mainColor),
        ),
        showDuration: const Duration(seconds: 5),
      ),
    ));
  },
),

'
我已经尝试将我的全局密钥更改为全局密钥,结果错误更多。该怎么办?

2ic8powd

2ic8powd1#

这种尝试显示snackbar的调用方式已被弃用,相反,您可以像这样使用ScaffoldMessenger

ScaffoldMessenger.of(context).showSnackBar(SnackBar(
      backgroundColor: Theme.of(context).iconTheme.color,
      content: Tooltip(
        message: Utils.getString(context, 'transaction_detail__copy'),
        child: Text(
          Utils.getString(context, 'transaction_detail__copied_data'),
          style: Theme.of(context)
              .textTheme
              .headline6!
              .copyWith(color: PsColors.mainColor),
        ),
        showDuration: const Duration(seconds: 5),
      ),
    ));

查看此页面

相关问题