Files
iroute/lib/v7/app/navigation/router/iroute_config.dart
toly 88cd6fb3b4 v7
2023-11-04 08:48:16 +08:00

36 lines
772 B
Dart

import 'package:flutter/material.dart';
class IRouteConfig {
final Object? extra;
final bool forResult;
final Uri uri;
final bool keepAlive;
final bool recordHistory;
const IRouteConfig({
this.extra,
required this.uri,
this.forResult = false,
this.keepAlive = false,
this.recordHistory = false,
});
String get path => uri.path;
IRouteConfig copyWith({
Object? extra,
bool? forResult,
bool? keepAlive,
bool? recordHistory,
}) =>
IRouteConfig(
extra: extra ?? this.extra,
forResult: forResult ?? this.forResult,
keepAlive: keepAlive ?? this.keepAlive,
recordHistory: recordHistory ?? this.recordHistory,
uri: uri,
);
ValueKey get pageKey => ValueKey(path);
}