Skip to content

Commit a9981ed

Browse files
authored
fix(FilterButton): use Popover prevent blocked (#6900)
* chore: 更新清除 Filter 图标 * refactor: 更新 MD 图标 * feat: FilterButton 支持 Popover * feat: 支持录入后自动过滤功能
1 parent ac482e0 commit a9981ed

File tree

4 files changed

+38
-9
lines changed

4 files changed

+38
-9
lines changed

src/BootstrapBlazor/Components/Filters/FilterButton.razor

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@
22
@typeparam TValue
33
@inherits Dropdown<TValue>
44

5-
<button type="button" class="btn btn-filter dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
6-
<i class="@FilterIcon" />
7-
</button>
8-
<div class="dropdown-menu shadow">
9-
@foreach (var item in Items)
10-
{
11-
<div class="@ActiveItem(item)" @onclick="e => OnItemClick(item)">@item.Text</div>
12-
}
5+
<div id="@Id" class="bb-filter-btn-group">
6+
<button type="button" class="btn btn-filter dropdown-toggle" data-bs-toggle="bb.dropdown" aria-expanded="false">
7+
<i class="@FilterIcon" />
8+
</button>
9+
<div class="dropdown-menu shadow">
10+
@foreach (var item in Items)
11+
{
12+
<div class="@ActiveItem(item)" @onclick="e => OnItemClick(item)">@item.Text</div>
13+
}
14+
</div>
15+
<Button Icon="@ClearIcon" Color="Color.None" class="btn-ban text-danger" OnClickWithoutRender="ClearFilter" />
1316
</div>
14-
<Button Icon="@ClearIcon" Color="Color.None" class="btn-ban text-danger" OnClickWithoutRender="ClearFilter" />
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import Data from "../../modules/data.js"
2+
import Popover from "../../modules/base-popover.js"
3+
4+
export function init(id) {
5+
const el = document.getElementById(id)
6+
if (el == null) {
7+
return
8+
}
9+
const popover = Popover.init(el);
10+
11+
const dropdown = { popover }
12+
Data.set(id, dropdown)
13+
}
14+
15+
export function dispose(id) {
16+
const dropdown = Data.get(id)
17+
Data.remove(id)
18+
19+
if (dropdown) {
20+
Popover.dispose(dropdown.popover)
21+
}
22+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
.bb-filter-btn-group {
2+
display: flex;
3+
flex-wrap: nowrap;
4+
}

src/BootstrapBlazor/wwwroot/scss/components.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
@use "../../Components/ErrorLogger/ErrorLogger.razor.scss";
4141
@use "../../Components/FlipClock/FlipClock.razor.scss";
4242
@use "../../Components/FileIcon/FileIcon.razor.scss";
43+
@use "../../Components/Filters/FilterButton.razor.scss";
4344
@use "../../Components/Filters/MultiFilter.razor.scss";
4445
@use "../../Components/Filters/TableColumnFilter.razor.scss";
4546
@use "../../Components/Footer/Footer.razor.scss";

0 commit comments

Comments
 (0)