diff --git a/src/Masa.Blazor/Presets/PageTabs/Abstract/PatternPathComponentBase.cs b/src/Masa.Blazor/Presets/PageTabs/Abstract/PatternPathComponentBase.cs index 6ff8e2a8be..e7088bec70 100644 --- a/src/Masa.Blazor/Presets/PageTabs/Abstract/PatternPathComponentBase.cs +++ b/src/Masa.Blazor/Presets/PageTabs/Abstract/PatternPathComponentBase.cs @@ -19,15 +19,18 @@ public class PatternPathComponentBase : MasaComponentBase protected HashSet CachedSelfPatternRegexes = new(); + protected override void OnInitialized() + { + base.OnInitialized(); + + UpsertCachedSelfPatternRegexes(); + } + protected override void OnParametersSet() { base.OnParametersSet(); - if (_prevSelfPatterns.SetEquals(SelfPatterns)) return; - - _prevSelfPatterns = new HashSet(SelfPatterns); - CachedSelfPatternRegexes = - new HashSet(SelfPatterns.Select(p => new Regex(p, RegexOptions.IgnoreCase))); + UpsertCachedSelfPatternRegexes(); } protected virtual PatternPath GetCurrentPatternPath() @@ -38,4 +41,12 @@ protected virtual PatternPath GetCurrentPatternPath() ? new PatternPath(absolutePath) : new PatternPath(selfPatternRegex.ToString(), absolutePath); } + + private void UpsertCachedSelfPatternRegexes() + { + if (_prevSelfPatterns.SetEquals(SelfPatterns)) return; + + _prevSelfPatterns = [..SelfPatterns]; + CachedSelfPatternRegexes = [..SelfPatterns.Select(p => new Regex(p, RegexOptions.IgnoreCase))]; + } } \ No newline at end of file