generateRoute<T extends Object> method
ChatUIKit 路由拦截器, 可以在 onGenerateRoute
中进行拦截,如果拦截失败,再进行你自己的路由跳转。
onGenerateRoute: (settings) {
return ChatUIKitRoute().generateRoute(settings) ??
MaterialPageRoute(
builder: (context) {
return const HomePage();
},
);
},
Implementation
Route? generateRoute<T extends Object>(RouteSettings settings) {
if (settings.arguments is ChatUIKitViewArguments) {
ChatUIKitWidgetBuilder? builder = uikitRoutes[settings.name];
if (builder != null) {
final route = MaterialPageRoute(
builder: (context) {
return builder(context, settings.arguments);
},
settings: settings,
);
return route;
}
return null;
} else {
return null;
}
}