Skip to content

Commit 4b33dae

Browse files
authored
refactor(Display): make TValue as nullable (#4651)
1 parent 573ed26 commit 4b33dae

File tree

9 files changed

+19
-19
lines changed

9 files changed

+19
-19
lines changed

src/BootstrapBlazor/Components/Checkbox/CheckboxList.razor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ private async Task<bool> OnBeforeStateChanged(CheckboxState state)
188188
/// </summary>
189189
/// <param name="value"></param>
190190
/// <returns></returns>
191-
protected override string? FormatValueAsString(TValue value)
191+
protected override string? FormatValueAsString(TValue? value)
192192
{
193193
string? ret = null;
194194
if (ValueType == typeof(string))

src/BootstrapBlazor/Components/DateTimePicker/DateTimePicker.razor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,7 @@ protected override async Task OnParametersSetAsync()
355355
/// <summary>
356356
/// 格式化数值方法
357357
/// </summary>
358-
protected override string FormatValueAsString(TValue value)
358+
protected override string FormatValueAsString(TValue? value)
359359
{
360360
var ret = "";
361361
DateTime? d = value switch

src/BootstrapBlazor/Components/Display/DisplayBase.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,13 @@ public abstract class DisplayBase<TValue> : BootstrapModuleComponentBase
4848
/// Gets or sets a callback that updates the bound value.
4949
/// </summary>
5050
[Parameter]
51-
public EventCallback<TValue> ValueChanged { get; set; }
51+
public EventCallback<TValue?> ValueChanged { get; set; }
5252

5353
/// <summary>
5454
/// Gets or sets an expression that identifies the bound value.
5555
/// </summary>
5656
[Parameter]
57-
public Expression<Func<TValue>>? ValueExpression { get; set; }
57+
public Expression<Func<TValue?>>? ValueExpression { get; set; }
5858

5959
/// <summary>
6060
/// 获得/设置 是否显示前置标签 默认值为 null 为空时默认不显示标签
@@ -164,7 +164,7 @@ protected override void OnParametersSet()
164164
/// </summary>
165165
/// <param name="value">The value to format.</param>
166166
/// <returns>A string representation of the value.</returns>
167-
protected virtual string? FormatValueAsString(TValue value)
167+
protected virtual string? FormatValueAsString(TValue? value)
168168
{
169169
string? ret;
170170
if (value is SelectedItem item)

src/BootstrapBlazor/Components/Input/BootstrapInputBase.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public abstract class BootstrapInputBase<TValue> : ValidateBase<TValue>
5252
/// 获得/设置 格式化字符串
5353
/// </summary>
5454
[Parameter]
55-
public Func<TValue, string>? Formatter { get; set; }
55+
public Func<TValue?, string>? Formatter { get; set; }
5656

5757
/// <summary>
5858
/// 获得/设置 格式化字符串 如时间类型设置 yyyy-MM-dd
@@ -182,7 +182,7 @@ protected override async Task OnAfterRenderAsync(bool firstRender)
182182
/// </summary>
183183
/// <param name="value"></param>
184184
/// <returns></returns>
185-
protected override string? FormatValueAsString(TValue value) => Formatter != null
185+
protected override string? FormatValueAsString(TValue? value) => Formatter != null
186186
? Formatter.Invoke(value)
187187
: (!string.IsNullOrEmpty(FormatString) && value != null
188188
? Utility.Format(value, FormatString)

src/BootstrapBlazor/Components/InputNumber/BootstrapInputNumber.razor.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,13 @@ public partial class BootstrapInputNumber<TValue>
3939
/// 获得/设置 数值增加时回调委托
4040
/// </summary>
4141
[Parameter]
42-
public Func<TValue, Task>? OnIncrement { get; set; }
42+
public Func<TValue?, Task>? OnIncrement { get; set; }
4343

4444
/// <summary>
4545
/// 获得/设置 数值减少时回调委托
4646
/// </summary>
4747
[Parameter]
48-
public Func<TValue, Task>? OnDecrement { get; set; }
48+
public Func<TValue?, Task>? OnDecrement { get; set; }
4949

5050
/// <summary>
5151
/// 获得/设置 最小值
@@ -161,9 +161,9 @@ protected override void OnAfterRender(bool firstRender)
161161
/// </summary>
162162
/// <param name="value">The value to format.</param>
163163
/// <returns>A string representation of the value.</returns>
164-
protected override string? FormatValueAsString(TValue value) => UseInputEvent ? _lastInputValueString : GetFormatString(value);
164+
protected override string? FormatValueAsString(TValue? value) => UseInputEvent ? _lastInputValueString : GetFormatString(value);
165165

166-
private string? GetFormatString(TValue value) => Formatter != null
166+
private string? GetFormatString(TValue? value) => Formatter != null
167167
? Formatter.Invoke(value)
168168
: (!string.IsNullOrEmpty(FormatString) && value != null
169169
? Utility.Format(value, FormatString)
@@ -175,7 +175,7 @@ protected override void OnAfterRender(bool firstRender)
175175
/// <param name="value"></param>
176176
/// <returns></returns>
177177
/// <exception cref="InvalidOperationException"></exception>
178-
protected virtual string? InternalFormat(TValue value) => value switch
178+
protected virtual string? InternalFormat(TValue? value) => value switch
179179
{
180180
null => null,
181181
int @int => BindConverter.FormatValue(@int, CultureInfo.InvariantCulture),
@@ -288,7 +288,7 @@ protected override async Task OnBlur()
288288
}
289289
}
290290

291-
private TValue SetMin(TValue val)
291+
private TValue? SetMin(TValue? val)
292292
{
293293
if (!string.IsNullOrEmpty(Min))
294294
{
@@ -317,7 +317,7 @@ private TValue SetMin(TValue val)
317317
return val;
318318
}
319319

320-
private TValue SetMax(TValue val)
320+
private TValue? SetMax(TValue? val)
321321
{
322322
if (!string.IsNullOrEmpty(Max))
323323
{

src/BootstrapBlazor/Components/Radio/RadioList.razor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ protected override void OnParametersSet()
8181
/// </summary>
8282
/// <param name="value"></param>
8383
/// <returns></returns>
84-
protected override string? FormatValueAsString(TValue value) => value is SelectedItem v ? v.Value : value?.ToString();
84+
protected override string? FormatValueAsString(TValue? value) => value is SelectedItem v ? v.Value : value?.ToString();
8585

8686
/// <summary>
8787
/// <inheritdoc/>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ protected override void OnAfterRender(bool firstRender)
211211
/// </summary>
212212
/// <param name="value"></param>
213213
/// <returns></returns>
214-
protected override string? FormatValueAsString(TValue value) => value == null
214+
protected override string? FormatValueAsString(TValue? value) => value == null
215215
? null
216216
: Utility.ConvertValueToString(value);
217217

src/BootstrapBlazor/Components/Transfer/Transfer.razor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,7 @@ protected override bool TryParseValueFromString(string value, out TValue result,
364364
/// </summary>
365365
/// <param name="value"></param>
366366
/// <returns></returns>
367-
protected override string? FormatValueAsString(TValue value) => value == null
367+
protected override string? FormatValueAsString(TValue? value) => value == null
368368
? null
369369
: Utility.ConvertValueToString(value);
370370

src/BootstrapBlazor/Components/Validate/ValidateBase.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public abstract class ValidateBase<TValue> : DisplayBase<TValue>, IValidateCompo
6161
/// <summary>
6262
/// Gets or sets the current value of the input.
6363
/// </summary>
64-
protected TValue CurrentValue
64+
protected TValue? CurrentValue
6565
{
6666
get => Value;
6767
set
@@ -150,7 +150,7 @@ protected string CurrentValueAsString
150150
/// 获得/设置 Value 改变时回调方法
151151
/// </summary>
152152
[Parameter]
153-
public Func<TValue, Task>? OnValueChanged { get; set; }
153+
public Func<TValue?, Task>? OnValueChanged { get; set; }
154154

155155
/// <summary>
156156
/// 获得/设置 类型转化失败格式化字符串 默认为 null

0 commit comments

Comments
 (0)