如何在 flutter 中扩展两个类?

Md.*_*lam 26 dart flutter

我试图扩展 flutter 中具有 with 关键字的两个类来获取 SearchDelegate 重写方法,但无法这样做。请提出任何解决方案。

class A extends StatefulWidget with SearchDelegate{}
Run Code Online (Sandbox Code Playgroud)

Mim*_*han 40

通常,您可以使用 'with' 关键字轻松地在 dart 中调用多个类(继承),例如

Class A extends B with C, D {
    //your code
}
Run Code Online (Sandbox Code Playgroud)

但是当你调用 SearchDelegate 时你可能会看到

“SearchDelegate”类不能用作 mixin,因为它声明了一个构造函数。

“SearchDelegate”类不能用作 mixin,因为它扩展了 Object 以外的类。

简短说明: 在这里,您必须重写其所有抽象方法,并且需要在声明的类中传递 String/int 变量。这意味着,您可能必须使用所需的变量调用 DataSearch 类构造函数

由于使用参数调用构造函数,因此最好调用一个可以轻松实现 SearchDelegate 的新类。

就像任何按钮操作一样

onPressed: () {
        showSearch(
          context: context,
          delegate: CustomSearchDelegate(),
        );
      },
Run Code Online (Sandbox Code Playgroud)

我希望我的回答对您有意义。谢谢