@@ -1091,11 +1091,7 @@ private void OnInitParameters()
10911091 SearchModel ??= CreateSearchModel ( ) ;
10921092 }
10931093
1094- /// <summary>
1095- /// <para lang="zh">获得/设置 是否为第一次 Render</para>
1096- /// <para lang="en">Gets or sets Whether it is the first Render</para>
1097- /// </summary>
1098- protected bool FirstRender { get ; set ; } = true ;
1094+ private bool _firstRender = true ;
10991095
11001096 /// <summary>
11011097 /// <para lang="zh">获得/设置 自动刷新 CancellationTokenSource 实例</para>
@@ -1140,7 +1136,7 @@ protected override void OnParametersSet()
11401136 IsTree = false ;
11411137 }
11421138
1143- if ( ! FirstRender )
1139+ if ( ! _firstRender )
11441140 {
11451141 // 动态列模式
11461142 ResetDynamicContext ( ) ;
@@ -1153,6 +1149,21 @@ protected override void OnParametersSet()
11531149 _searchItems = null ;
11541150 }
11551151
1152+ /// <summary>
1153+ /// <inheritdoc/>
1154+ /// </summary>
1155+ /// <returns></returns>
1156+ protected override async Task OnParametersSetAsync ( )
1157+ {
1158+ await base . OnParametersSetAsync ( ) ;
1159+
1160+ if ( ! _firstRender )
1161+ {
1162+ // 重新读取浏览器设置
1163+ await OnTableColumnReset ( ) ;
1164+ }
1165+ }
1166+
11561167 /// <summary>
11571168 /// <inheritdoc/>
11581169 /// </summary>
@@ -1237,6 +1248,54 @@ protected override async Task OnAfterRenderAsync(bool firstRender)
12371248 }
12381249 }
12391250
1251+ private async Task OnTableColumnReset ( )
1252+ {
1253+ // 动态列模式
1254+ var cols = new List < ITableColumn > ( ) ;
1255+ if ( DynamicContext != null && typeof ( TItem ) . IsAssignableTo ( typeof ( IDynamicObject ) ) )
1256+ {
1257+ cols . AddRange ( DynamicContext . GetColumns ( ) ) ;
1258+ }
1259+ else if ( AutoGenerateColumns )
1260+ {
1261+ cols . AddRange ( Utility . GetTableColumns < TItem > ( Columns ) ) ;
1262+ }
1263+ else
1264+ {
1265+ cols . AddRange ( Columns ) ;
1266+ }
1267+
1268+ if ( ColumnOrderCallback != null )
1269+ {
1270+ cols = [ .. ColumnOrderCallback ( cols ) ] ;
1271+ }
1272+
1273+ await ReloadColumnOrdersFromBrowserAsync ( cols ) ;
1274+
1275+ // 查看是否开启列宽序列化
1276+ await ReloadColumnWidthFromBrowserAsync ( cols ) ;
1277+
1278+ if ( OnColumnCreating != null )
1279+ {
1280+ await OnColumnCreating ( cols ) ;
1281+ }
1282+
1283+ InternalResetVisibleColumns ( cols ) ;
1284+
1285+ await ReloadColumnVisibleFromBrowserAsync ( ) ;
1286+
1287+ Columns . Clear ( ) ;
1288+ Columns . AddRange ( cols . OrderFunc ( ) ) ;
1289+
1290+ // set default sortName
1291+ var col = Columns . Find ( i => i is { Sortable : true , DefaultSort : true } ) ;
1292+ if ( col != null )
1293+ {
1294+ SortName = col . GetFieldName ( ) ;
1295+ SortOrder = col . DefaultSortOrder ;
1296+ }
1297+ }
1298+
12401299 private async Task OnTableRenderAsync ( bool firstRender )
12411300 {
12421301 if ( firstRender )
@@ -1372,52 +1431,9 @@ private async Task ProcessFirstRender()
13721431 IsLoading = true ;
13731432
13741433 // 设置渲染完毕
1375- FirstRender = false ;
1376-
1377- // 动态列模式
1378- var cols = new List < ITableColumn > ( ) ;
1379- if ( DynamicContext != null && typeof ( TItem ) . IsAssignableTo ( typeof ( IDynamicObject ) ) )
1380- {
1381- cols . AddRange ( DynamicContext . GetColumns ( ) ) ;
1382- }
1383- else if ( AutoGenerateColumns )
1384- {
1385- cols . AddRange ( Utility . GetTableColumns < TItem > ( Columns ) ) ;
1386- }
1387- else
1388- {
1389- cols . AddRange ( Columns ) ;
1390- }
1434+ _firstRender = false ;
13911435
1392- if ( ColumnOrderCallback != null )
1393- {
1394- cols = [ .. ColumnOrderCallback ( cols ) ] ;
1395- }
1396-
1397- await ReloadColumnOrdersFromBrowserAsync ( cols ) ;
1398-
1399- // 查看是否开启列宽序列化
1400- await ReloadColumnWidthFromBrowserAsync ( cols ) ;
1401-
1402- if ( OnColumnCreating != null )
1403- {
1404- await OnColumnCreating ( cols ) ;
1405- }
1406-
1407- InternalResetVisibleColumns ( cols ) ;
1408-
1409- await ReloadColumnVisibleFromBrowserAsync ( ) ;
1410-
1411- Columns . Clear ( ) ;
1412- Columns . AddRange ( cols . OrderFunc ( ) ) ;
1413-
1414- // set default sortName
1415- var col = Columns . Find ( i => i is { Sortable : true , DefaultSort : true } ) ;
1416- if ( col != null )
1417- {
1418- SortName = col . GetFieldName ( ) ;
1419- SortOrder = col . DefaultSortOrder ;
1420- }
1436+ await OnTableColumnReset ( ) ;
14211437
14221438 // 获取是否自动查询参数值
14231439 _autoQuery = IsAutoQueryFirstRender ;
0 commit comments