diff --git a/src/admin/Bootstrap.Admin/Components/EditPageBase.cs b/src/admin/Bootstrap.Admin/Components/EditPageBase.cs index 5fddae74..6bf0df74 100644 --- a/src/admin/Bootstrap.Admin/Components/EditPageBase.cs +++ b/src/admin/Bootstrap.Admin/Components/EditPageBase.cs @@ -34,7 +34,7 @@ namespace Bootstrap.Admin.Components /// 查询按钮回调方法 /// [Parameter] - public Func>? OnQuery { get; set; } + public Func>? OnQuery { get; set; } /// /// 获得/设置 TableHeader 实例 @@ -171,7 +171,8 @@ namespace Bootstrap.Admin.Components /// /// /// + /// /// - protected QueryData QueryData(int pageIndex, int pageItems) => OnQuery?.Invoke(pageIndex, pageItems) ?? new QueryData(); + protected QueryData QueryData(int pageIndex, int pageItems, string searchText) => OnQuery?.Invoke(pageIndex, pageItems, searchText) ?? new QueryData(); } } diff --git a/src/admin/Bootstrap.Admin/Components/TableBase.cs b/src/admin/Bootstrap.Admin/Components/TableBase.cs index d01796e1..af41822f 100644 --- a/src/admin/Bootstrap.Admin/Components/TableBase.cs +++ b/src/admin/Bootstrap.Admin/Components/TableBase.cs @@ -135,7 +135,7 @@ namespace Bootstrap.Admin.Components /// 点击翻页回调方法 /// [Parameter] - public Func>? OnQuery { get; set; } + public Func>? OnQuery { get; set; } /// /// 新建按钮回调方法 @@ -230,7 +230,7 @@ namespace Bootstrap.Admin.Components if (OnAdd != null) EditModel = OnAdd.Invoke(); if (OnQuery != null) { - var queryData = OnQuery.Invoke(1, DefaultPageItems); + var queryData = OnQuery.Invoke(1, DefaultPageItems, SearchText); Items = queryData.Items; TotalCount = queryData.TotalCount; } @@ -241,11 +241,8 @@ namespace Bootstrap.Admin.Components /// protected override async System.Threading.Tasks.Task OnAfterRenderAsync(bool firstRender) { - if (FixedHeader) - { - // 调用客户端脚本 resetWith - await JSRuntime.InitTableAsync(RetrieveId(), firstRender); - } + // 调用客户端脚本 + await JSRuntime.InitTableAsync(RetrieveId(), firstRender); } /// @@ -367,7 +364,7 @@ namespace Bootstrap.Admin.Components /// protected void Query() { - if (OnQuery != null) Query(OnQuery.Invoke(PageIndex, PageItems)); + if (OnQuery != null) Query(OnQuery.Invoke(PageIndex, PageItems, SearchText)); } /// @@ -443,5 +440,26 @@ namespace Bootstrap.Admin.Components PageIndex = 1; Query(); } + + /// + /// 获得/设置 搜索关键字 + /// + [Parameter] + public string SearchText { get; set; } = ""; + + /// + /// 获得/设置 搜索关键字改变事件 + /// + [Parameter] + public EventCallback SearchTextChanged { get; set; } + + /// + /// 重置搜索按钮调用此方法 + /// + protected void ClearSearchClick() + { + SearchText = ""; + Query(); + } } } diff --git a/src/admin/Bootstrap.Admin/Pages/Components/DictsBase.cs b/src/admin/Bootstrap.Admin/Pages/Components/DictsBase.cs index a7a0be52..1178fb36 100644 --- a/src/admin/Bootstrap.Admin/Pages/Components/DictsBase.cs +++ b/src/admin/Bootstrap.Admin/Pages/Components/DictsBase.cs @@ -34,12 +34,14 @@ namespace Bootstrap.Pages.Admin.Components /// /// 页码 /// 每页显示数据条目数量 - protected override QueryData Query(int pageIndex, int pageItems) + /// + protected override QueryData Query(int pageIndex, int pageItems, string searchText) { var data = DataAccess.DictHelper.RetrieveDicts(); if (QueryModel.Define != -1) data = data.Where(d => d.Define == QueryModel.Define); if (!string.IsNullOrEmpty(QueryModel.Name)) data = data.Where(d => d.Name.Contains(QueryModel.Name, StringComparison.OrdinalIgnoreCase)); if (!string.IsNullOrEmpty(QueryModel.Category)) data = data.Where(d => d.Category.Contains(QueryModel.Category, StringComparison.OrdinalIgnoreCase)); + if (!string.IsNullOrEmpty(searchText)) data = data.Where(d => d.Category.Contains(searchText, StringComparison.OrdinalIgnoreCase) || d.Name.Contains(searchText, StringComparison.OrdinalIgnoreCase) || d.Code.Contains(searchText, StringComparison.OrdinalIgnoreCase)); var totalCount = data.Count(); var items = data.Skip((pageIndex - 1) * pageItems).Take(pageItems); return new QueryData() { Items = items, TotalCount = totalCount, PageIndex = pageIndex, PageItems = pageItems }; @@ -54,11 +56,11 @@ namespace Bootstrap.Pages.Admin.Components /// 删除方法 /// protected override bool Delete(IEnumerable items) => DataAccess.DictHelper.Delete(items.Select(item => item.Id ?? "")); - + /// /// 重置搜索方法 /// - protected void ResetSearch() + protected void ResetSearch() { QueryModel.Define = -1; QueryModel.Category = ""; diff --git a/src/admin/Bootstrap.Admin/Pages/Components/GroupsBase.cs b/src/admin/Bootstrap.Admin/Pages/Components/GroupsBase.cs index 2ac7fade..8ded783f 100644 --- a/src/admin/Bootstrap.Admin/Pages/Components/GroupsBase.cs +++ b/src/admin/Bootstrap.Admin/Pages/Components/GroupsBase.cs @@ -16,7 +16,8 @@ namespace Bootstrap.Pages.Admin.Components /// /// 页码 /// 每页显示数据条目数量 - protected override QueryData Query(int pageIndex, int pageItems) + /// + protected override QueryData Query(int pageIndex, int pageItems, string searchText) { var data = GroupHelper.Retrieves(); if (!string.IsNullOrEmpty(QueryModel.GroupName)) data = data.Where(d => d.GroupName.Contains(QueryModel.GroupName, StringComparison.OrdinalIgnoreCase)); diff --git a/src/admin/Bootstrap.Admin/Pages/Components/MenusBase.cs b/src/admin/Bootstrap.Admin/Pages/Components/MenusBase.cs index f10307a6..d47e6a46 100644 --- a/src/admin/Bootstrap.Admin/Pages/Components/MenusBase.cs +++ b/src/admin/Bootstrap.Admin/Pages/Components/MenusBase.cs @@ -115,7 +115,8 @@ namespace Bootstrap.Pages.Admin.Components /// /// 页码 /// 每页显示数据条目数量 - protected override QueryData Query(int pageIndex, int pageItems) + /// + protected override QueryData Query(int pageIndex, int pageItems, string searchText) { var data = MenuHelper.RetrieveMenusByUserName(UserName); if (!string.IsNullOrEmpty(QueryModel.Name)) data = data.Where(d => d.Name.Contains(QueryModel.Name, StringComparison.OrdinalIgnoreCase)); diff --git a/src/admin/Bootstrap.Admin/Pages/Components/QueryPageBase.cs b/src/admin/Bootstrap.Admin/Pages/Components/QueryPageBase.cs index 28bf17b3..6981f52c 100644 --- a/src/admin/Bootstrap.Admin/Pages/Components/QueryPageBase.cs +++ b/src/admin/Bootstrap.Admin/Pages/Components/QueryPageBase.cs @@ -26,7 +26,8 @@ namespace Bootstrap.Pages.Admin.Components /// /// 页码 /// 每页显示数据条目数量 - protected abstract QueryData Query(int pageIndex, int pageItems); + /// + protected abstract QueryData Query(int pageIndex, int pageItems, string searchText); /// /// OnParametersSet 方法 diff --git a/src/admin/Bootstrap.Admin/Pages/Components/RolesBase.cs b/src/admin/Bootstrap.Admin/Pages/Components/RolesBase.cs index 19fabb1d..0466653d 100644 --- a/src/admin/Bootstrap.Admin/Pages/Components/RolesBase.cs +++ b/src/admin/Bootstrap.Admin/Pages/Components/RolesBase.cs @@ -16,7 +16,8 @@ namespace Bootstrap.Pages.Admin.Components /// /// 页码 /// 每页显示数据条目数量 - protected override QueryData Query(int pageIndex, int pageItems) + /// + protected override QueryData Query(int pageIndex, int pageItems, string searchText) { var data = RoleHelper.Retrieves(); if (!string.IsNullOrEmpty(QueryModel.RoleName)) data = data.Where(d => d.RoleName.Contains(QueryModel.RoleName, StringComparison.OrdinalIgnoreCase)); diff --git a/src/admin/Bootstrap.Admin/Pages/Components/UsersBase.cs b/src/admin/Bootstrap.Admin/Pages/Components/UsersBase.cs index e4c52bd4..b856ec75 100644 --- a/src/admin/Bootstrap.Admin/Pages/Components/UsersBase.cs +++ b/src/admin/Bootstrap.Admin/Pages/Components/UsersBase.cs @@ -16,7 +16,8 @@ namespace Bootstrap.Pages.Admin.Components /// /// 页码 /// 每页显示数据条目数量 - protected override QueryData Query(int pageIndex, int pageItems) + /// + protected override QueryData Query(int pageIndex, int pageItems, string searchText) { var data = UserHelper.Retrieves(); if (!string.IsNullOrEmpty(QueryModel.UserName)) data = data.Where(d => d.UserName.Contains(QueryModel.UserName, StringComparison.OrdinalIgnoreCase)); diff --git a/src/admin/Bootstrap.Admin/Shared/Table.razor b/src/admin/Bootstrap.Admin/Shared/Table.razor index b8354926..fc313b63 100644 --- a/src/admin/Bootstrap.Admin/Shared/Table.razor +++ b/src/admin/Bootstrap.Admin/Shared/Table.razor @@ -19,12 +19,12 @@
- +
- -
-
+