代码之家  ›  专栏  ›  技术社区  ›  lxknvlk

颤振扩展不工作

  •  0
  • lxknvlk  · 技术社区  · 4 年前

    这是我的扩展文件

    import 'package:flutter/material.dart';
    import 'package:flutter/widgets.dart';
    
    extension BuildContextExtensions on BuildContext {
        void snack(String text){
          ScaffoldMessenger.of(this).showSnackBar(SnackBar(content: Text(text)));
        }
    }
    

    现在当我试着叫它 context.snack("asd"); 它表明“没有为类型'BuildContext'定义方法'snakp'。如果我停留在上下文上,它会说 package:flutter/src/widgets/framework.dart BuildContext get context

    UPD: 它不建议我导入扩展名文件。但是当我将扩展类复制到我试图使用它的文件中时,它就起作用了。 我必须手动导入该文件以使其正常工作。

    1 回复  |  直到 4 年前
        1
  •  0
  •   Sajad Abdollahi    4 年前

    dart中的每个扩展都需要一个名称,请尝试为扩展添加一个名称

    extension CustomSnackBar on BuildContext {
        void snack(String text){
          ScaffoldMessenger.of(this).showSnackBar(SnackBar(content: Text(text)));
        }
    }
    
    
        2
  •  0
  •   lxknvlk    4 年前

    解决方案是手动将带有扩展名类的文件导入到使用它的文件中。Android studio没有建议我导入它。如果我写了类名,它只建议导入它。