@@ -1207,7 +1207,7 @@ private async Task ProcessFirstRender()
12071207 await OnColumnCreating ( cols ) ;
12081208 }
12091209
1210- InternalResetVisibleColumns ( cols ) ;
1210+ await InternalResetVisibleColumns ( cols ) ;
12111211
12121212 Columns . Clear ( ) ;
12131213 Columns . AddRange ( cols . OrderFunc ( ) ) ;
@@ -1258,9 +1258,33 @@ private void ResetColumnWidth(List<ITableColumn> columns)
12581258 }
12591259 }
12601260
1261- private void InternalResetVisibleColumns ( List < ITableColumn > columns , IEnumerable < ColumnVisibleItem > ? items = null )
1261+ private async Task InternalResetVisibleColumns ( List < ITableColumn > columns , IEnumerable < ColumnVisibleItem > ? items = null )
12621262 {
12631263 var cols = columns . Select ( i => new ColumnVisibleItem ( i . GetFieldName ( ) , i . GetVisible ( ) ) { DisplayName = i . GetDisplayName ( ) } ) . ToList ( ) ;
1264+ List < ColumnVisibleItem > ? ret = null ;
1265+ if ( ClientTableName != null && ShowColumnList )
1266+ {
1267+ var jsonData = await JSRuntime . InvokeAsync < string > ( "localStorage.getItem" , "bb-table-column-visiable-" + ClientTableName ) ;
1268+ if ( ! string . IsNullOrEmpty ( jsonData ) )
1269+ {
1270+ try
1271+ {
1272+ ret = JsonSerializer . Deserialize < List < ColumnVisibleItem > > ( jsonData , _serializerOption ) ;
1273+ }
1274+ catch { }
1275+ if ( ret != null )
1276+ {
1277+ foreach ( var i in ret )
1278+ {
1279+ var col = cols . FirstOrDefault ( d => d . Name == i . Name && d . DisplayName == i . DisplayName ) ;
1280+ if ( col != null )
1281+ {
1282+ col . Visible = i . Visible ;
1283+ }
1284+ }
1285+ }
1286+ }
1287+ }
12641288 if ( items != null )
12651289 {
12661290 foreach ( var column in cols )
@@ -1284,15 +1308,15 @@ private void InternalResetVisibleColumns(List<ITableColumn> columns, IEnumerable
12841308 /// 设置 列可见方法
12851309 /// </summary>
12861310 /// <param name="columns"></param>
1287- public void ResetVisibleColumns ( IEnumerable < ColumnVisibleItem > columns )
1311+ public async Task ResetVisibleColumns ( IEnumerable < ColumnVisibleItem > columns )
12881312 {
12891313 // https://github.com/dotnetcore/BootstrapBlazor/issues/6823
12901314 if ( AllowResizing )
12911315 {
12921316 _resetColumns = true ;
12931317 }
12941318
1295- InternalResetVisibleColumns ( Columns , columns ) ;
1319+ await InternalResetVisibleColumns ( Columns , columns ) ;
12961320 StateHasChanged ( ) ;
12971321 }
12981322
0 commit comments