Skip to content

Commit 4759e19

Browse files
authored
doc(Select): add use enum int value as Items sample code (#5436)
* refactor: 精简代码 * feat: 兼容 Enum Value 数字情况 * chore: bump version 9.3.1-beta33 * refactor: 更正方法名称 * doc: 增加示例 * doc: 增加示例说明
1 parent d23c876 commit 4759e19

File tree

5 files changed

+19
-3
lines changed

5 files changed

+19
-3
lines changed

src/BootstrapBlazor.Server/Components/Samples/Selects.razor

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,13 @@
240240
<div class="col-12 col-sm-6 align-self-end">
241241
<div class="form-control">@SelectedEnumItem</div>
242242
</div>
243+
<div class="col-12 col-sm-6">
244+
<Select @bind-Value="_enumValueDemo" Items="_enumValueDemoItems" ShowLabel="true" DisplayText="@Localizer["SelectsEnumSelectText3"]">
245+
</Select>
246+
</div>
247+
<div class="col-12 col-sm-6 align-self-end">
248+
<div class="form-control">@_enumValueDemo</div>
249+
</div>
243250
</div>
244251
</DemoBlock>
245252

src/BootstrapBlazor.Server/Components/Samples/Selects.razor.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,13 @@ public sealed partial class Selects
5151

5252
private string? _fooName;
5353

54+
private List<SelectedItem> _enumValueDemoItems = [
55+
new("0", "Primary"),
56+
new("1", "Middle")
57+
];
58+
59+
private EnumEducation _enumValueDemo = EnumEducation.Primary;
60+
5461
/// <summary>
5562
/// <inheritdoc/>
5663
/// </summary>
@@ -69,7 +76,7 @@ private async Task<QueryData<SelectedItem>> OnQueryAsync(VirtualizeQueryOption o
6976
var items = Foos;
7077
if (!string.IsNullOrEmpty(option.SearchText))
7178
{
72-
items = Foos.Where(i => i.Name!.Contains(option.SearchText, StringComparison.OrdinalIgnoreCase)).ToList();
79+
items = [.. Foos.Where(i => i.Name!.Contains(option.SearchText, StringComparison.OrdinalIgnoreCase))];
7380
}
7481
return new QueryData<SelectedItem>
7582
{

src/BootstrapBlazor.Server/Locales/en-US.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3146,6 +3146,7 @@
31463146
"SelectsEnumDescription2": "Setting <code>PalceHolder</code> is not valid when the binding value is an enumerated type",
31473147
"SelectsEnumSelectText1": "Can be empty",
31483148
"SelectsEnumSelectText2": "Not empty",
3149+
"SelectsEnumSelectText3": "Using enum integer values ​​as Items",
31493150
"SelectsNullableTitle": "The binding can be an empty type",
31503151
"SelectsNullableIntro": "<code>an example of the Select</code> component binding <code>int?</code> type",
31513152
"SelectsNullableDescription": "When the first option is selected, the binding value <code>SelectIntItem</code> to <code>null</code>",

src/BootstrapBlazor.Server/Locales/zh-CN.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3146,6 +3146,7 @@
31463146
"SelectsEnumDescription2": "绑定值为枚举类型时,设置 <code>PalceHolder</code> 无效",
31473147
"SelectsEnumSelectText1": "可为空",
31483148
"SelectsEnumSelectText2": "不为空",
3149+
"SelectsEnumSelectText3": "使用枚举整形值作为集合",
31493150
"SelectsNullableTitle": "绑定可为空类型",
31503151
"SelectsNullableIntro": "<code>Select</code> 组件绑定 <code>int?</code> 类型示例",
31513152
"SelectsNullableDescription": "选中第一个选项时,绑定值 <code>SelectedIntItem</code> 为 <code>null</code>",

src/BootstrapBlazor/Components/Select/Select.razor.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ private SelectedItem? SelectedRow
294294

295295
private SelectedItem? GetSelectedRow()
296296
{
297-
var item = GetItemWidthEnumValue()
297+
var item = GetItemWithEnumValue()
298298
?? Rows.Find(i => i.Value == CurrentValueAsString)
299299
?? Rows.Find(i => i.Active)
300300
?? Rows.FirstOrDefault(i => !i.IsDisabled)
@@ -315,7 +315,7 @@ private SelectedItem? SelectedRow
315315
return item;
316316
}
317317

318-
private SelectedItem? GetItemWidthEnumValue() => ValueType.IsEnum
318+
private SelectedItem? GetItemWithEnumValue() => ValueType.IsEnum
319319
? Rows.Find(i => i.Value == Convert.ToInt32(Value).ToString())
320320
: null;
321321

0 commit comments

Comments
 (0)