File tree Expand file tree Collapse file tree
src/components/BootstrapBlazor.Region/Components Expand file tree Collapse file tree Original file line number Diff line number Diff line change 77 <BootstrapLabel required =" @Required" for =" @InputId" ShowLabelTooltip =" ShowLabelTooltip" Value =" @DisplayText" />
88}
99<div @attributes =" AdditionalAttributes" id =" @Id" class =" @ClassString" >
10- <div data-bs-toggle =" bb.dropdown" data-bs-placement =" @PlacementString" data-bs-offset =" @OffsetString" data-bs-custom-class =" @CustomClassString" >
10+ <div class = " dropdown-toggle " data-bs-toggle =" bb.dropdown" data-bs-placement =" @PlacementString" data-bs-offset =" @OffsetString" data-bs-custom-class =" @CustomClassString" >
1111 <input type =" text" id =" @InputId" disabled =" @Disabled" readonly placeholder =" @PlaceHolder" class =" @InputClassString" value =" @CurrentValue" />
1212 <span class =" @AppendClassString" ><i class =" @DropdownIcon" ></i ></span >
1313 </div >
1414 @if (GetClearable ())
1515 {
1616 <span class =" @ClearClassString" @onclick =" OnClearValue" ><i class =" @ClearIcon" ></i ></span >
1717 }
18+ <div class =" dropdown-menu" >
19+ <div class =" bb-region-header" >
20+ <ul >
21+ <li >省/直辖市</li >
22+ <li >市</li >
23+ <li >区/县</li >
24+ <li >乡/镇/街道</li >
25+ </ul >
26+ </div >
27+ <div class =" bb-region-body" >
28+ @RenderProvinces()
29+ </div >
30+ </div >
1831</div >
32+
33+ @code {
34+ RenderFragment RenderProvinces () =>
35+ @<ul class =" bb-region-province" >
36+ @foreach( var item in RegionService .GetProvinces ())
37+ {
38+ <li >@item </li >
39+ }
40+ </ul >;
41+ }
Original file line number Diff line number Diff line change @@ -54,7 +54,11 @@ public partial class Region
5454 /// </summary>
5555 [ Inject ]
5656 [ NotNull ]
57- protected IIconTheme ? IconTheme { get ; set ; }
57+ private IIconTheme ? IconTheme { get ; set ; }
58+
59+ [ Inject ]
60+ [ NotNull ]
61+ private IRegionService ? RegionService { get ; set ; }
5862
5963 private string ? ClassString => CssBuilder . Default ( "select bb-region" )
6064 . AddClassFromAttributes ( AdditionalAttributes )
Original file line number Diff line number Diff line change 11.bb-region {
22 position : relative;
33}
4+
5+ .bb-region-province {
6+ display : flex;
7+ flex-wrap : wrap;
8+ gap : 5px ;
9+ }
10+
11+ .bb-region-province > li {
12+ padding : 3px 12px ;
13+ border-radius : var (--bs-border-radius );
14+ cursor : pointer;
15+ }
16+
17+ .bb-region-province > li : hover {
18+ background-color : var (--bs-secondary-bg-subtle );
19+ }
20+
21+ .popover-region ul {
22+ margin : 0 ;
23+ padding : 0 ;
24+ }
25+
26+ .popover-region li {
27+ list-style : none;
28+ }
29+
30+ .bb-region-header ul {
31+ display : flex;
32+ justify-content : space-between;
33+ flex-wrap : nowrap;
34+ padding : .5rem ;
35+ font-weight : bold;
36+ }
37+
38+ .bb-region-header ul li {
39+ cursor : pointer;
40+ padding : 3px 12px ;
41+ border-radius : var (--bs-border-radius );
42+ }
43+
44+ .bb-region-header ul li : hover {
45+ background-color : var (--bs-secondary-bg-subtle );
46+ }
47+
48+ .bb-region-body {
49+ padding : .5rem ;
50+ max-width : 400px ;
51+ }
Original file line number Diff line number Diff line change 1- export function init ( id ) {
1+ import Data from "../../BootstrapBlazor/modules/data.js"
2+ import Popover from "../../BootstrapBlazor/modules/base-popover.js"
23
4+ export function init ( id ) {
5+ const el = document . getElementById ( id )
6+ if ( el === null ) {
7+ return
8+ }
9+ const input = el . querySelector ( `#${ id } _input` ) ;
10+ const popover = Popover . init ( el ) ;
11+
12+ Data . set ( id , { el, popover } ) ;
313}
414
515export function dispose ( id ) {
16+ const region = Data . get ( id )
17+ Data . remove ( id )
618
19+ const { el, popover } = region ;
20+ if ( popover ) {
21+ Popover . dispose ( select . popover ) ;
22+ }
723}
You can’t perform that action at this time.
0 commit comments