我正在尝试在Flutter中扩展两个具有“with”关键字的类,以获取SearchDelegate重写方法,但无法实现。请建议任何解决方案。
class A extends StatefulWidget with SearchDelegate{}
通常情况下,您可以使用“with”关键字轻松调用Dart中的多个类(继承),例如:
Class A extends B with C, D {
//your code
}
但是当您调用SearchDelegate时,您可能会看到
类'SearchDelegate'无法用作mixin,因为它声明了一个构造函数。
类'SearchDelegate'无法用作mixin,因为它扩展了一个除Object之外的类。
简要说明:在这里,您必须覆盖所有抽象方法,并在您声明的类中传递一个String/int变量。也就是说,您可能需要使用所需的变量调用DataSearch类构造函数。
由于调用带参数的构造函数,最好调用一个新类,在该类中可以轻松实现SearchDelegate。
就像对于任何按钮动作一样
onPressed: () {
showSearch(
context: context,
delegate: CustomSearchDelegate(),
);
},
我希望我的答案对你有意义。 谢谢