@@ -3486,6 +3486,59 @@ public async Task Sortable_Ok()
34863486 await cut . InvokeAsync ( ( ) => table . Instance . QueryAsync ( ) ) ;
34873487 }
34883488
3489+ [ Fact ]
3490+ public async Task DefaultSortOrder_FirstRenderQuery_Ok ( )
3491+ {
3492+ var sortName = string . Empty ;
3493+ var sortOrder = SortOrder . Unset ;
3494+ var isFirstQuery = false ;
3495+ var localizer = Context . Services . GetRequiredService < IStringLocalizer < Foo > > ( ) ;
3496+ var cut = Context . Render < BootstrapBlazorRoot > ( pb =>
3497+ {
3498+ pb . AddChildContent < Table < Foo > > ( pb =>
3499+ {
3500+ pb . Add ( a => a . RenderMode , TableRenderMode . Table ) ;
3501+ pb . Add ( a => a . OnQueryAsync , option =>
3502+ {
3503+ sortName = option . SortName ;
3504+ sortOrder = option . SortOrder ;
3505+ isFirstQuery = option . IsFirstQuery ;
3506+ var items = Foo . GenerateFoo ( localizer , 5 ) ;
3507+ return Task . FromResult ( new QueryData < Foo > ( )
3508+ {
3509+ Items = items ,
3510+ TotalCount = items . Count ,
3511+ IsAdvanceSearch = true ,
3512+ IsFiltered = true ,
3513+ IsSearch = true ,
3514+ IsSorted = true
3515+ } ) ;
3516+ } ) ;
3517+ pb . Add ( a => a . TableColumns , foo => builder =>
3518+ {
3519+ builder . OpenComponent < TableColumn < Foo , string > > ( 0 ) ;
3520+ builder . AddAttribute ( 1 , "Field" , "Name" ) ;
3521+ builder . AddAttribute ( 2 , "FieldExpression" , Utility . GenerateValueExpression ( foo , "Name" , typeof ( string ) ) ) ;
3522+ builder . AddAttribute ( 3 , "Sortable" , true ) ;
3523+ builder . AddAttribute ( 4 , "DefaultSort" , true ) ;
3524+ builder . AddAttribute ( 5 , "DefaultSortOrder" , SortOrder . Desc ) ;
3525+ builder . CloseComponent ( ) ;
3526+ } ) ;
3527+ } ) ;
3528+ } ) ;
3529+
3530+ Assert . True ( isFirstQuery ) ;
3531+ Assert . Equal ( nameof ( Foo . Name ) , sortName ) ;
3532+ Assert . Equal ( SortOrder . Desc , sortOrder ) ;
3533+
3534+ // 模拟点击表头排序
3535+ var th = cut . Find ( "th" ) ;
3536+ await cut . InvokeAsync ( ( ) => th . Click ( ) ) ;
3537+ Assert . False ( isFirstQuery ) ;
3538+ Assert . Equal ( nameof ( Foo . Name ) , sortName ) ;
3539+ Assert . Equal ( SortOrder . Unset , sortOrder ) ;
3540+ }
3541+
34893542 [ Fact ]
34903543 public async Task OnSort_Ok ( )
34913544 {
0 commit comments