@@ -322,6 +322,7 @@ public void SwitchTimeView_Ok()
322322 {
323323 builder . Add ( a => a . Value , new DateTime ( 2023 , 10 , 1 , 1 , 0 , 0 ) ) ;
324324 builder . Add ( a => a . ViewMode , DatePickerViewMode . DateTime ) ;
325+ builder . Add ( a => a . PickTimeMode , PickTimeMode . Clock ) ;
325326 } ) ;
326327
327328 var labels = cut . FindAll ( ".picker-panel-header-label" ) ;
@@ -354,6 +355,39 @@ public void NotDateTime_Error()
354355 Context . RenderComponent < DateTimePicker < int > > ( ) ;
355356 } ) ;
356357 }
358+
359+ [ Fact ]
360+ public async Task PickTimeMode_Ok ( )
361+ {
362+ var cut = Context . RenderComponent < DatePickerBody > ( builder =>
363+ {
364+ builder . Add ( a => a . ViewMode , DatePickerViewMode . DateTime ) ;
365+ builder . Add ( a => a . PickTimeMode , PickTimeMode . Dropdown ) ;
366+ builder . Add ( a => a . ShowFooter , true ) ;
367+ builder . Add ( a => a . Value , DateTime . Today . AddDays ( - 1 ) ) ;
368+ builder . Add ( a => a . TimeFormat , "hh\\ :mm" ) ;
369+ } ) ;
370+
371+ cut . Contains ( "picker-panel-time" ) ;
372+
373+ // 点击时间选择器
374+ var input = cut . Find ( ".picker-panel-time .form-control" ) ;
375+ await cut . InvokeAsync ( ( ) => input . Click ( ) ) ;
376+ cut . Contains ( "picker-panel-time show" ) ;
377+
378+ // 点击时间选择器下拉框中的确定按钮
379+ var picker = cut . FindComponent < TimePicker > ( ) ;
380+ await cut . InvokeAsync ( ( ) => picker . Instance . OnClose ! ( ) ) ;
381+
382+ var ts = DateTime . Now . TimeOfDay ;
383+ await cut . InvokeAsync ( ( ) => picker . Instance . OnConfirm ! ( ts ) ) ;
384+ Assert . Contains ( ts . ToString ( "hh\\ :mm" ) , cut . Markup ) ;
385+
386+ cut . SetParametersAndRender ( pb =>
387+ {
388+ pb . Add ( a => a . TimeFormat , null ) ;
389+ } ) ;
390+ }
357391 #endregion
358392
359393 #region DatePicker
0 commit comments