NumberInput - added onchange method to run Math.Round on the Value when leaving field, adjusting the decimal places provided with DecimalPlaces parameter
This commit is contained in:
parent
1fd0028557
commit
e416c42952
@ -10,12 +10,13 @@
|
||||
step="@_step"
|
||||
disabled="@Disabled"
|
||||
readonly="@Readonly"
|
||||
value="@_value"
|
||||
@onkeydown=@(args => ChangeValue(args))
|
||||
@onkeydown:preventDefault="@_preventDefaultAction"
|
||||
@oninput=@GetValueAsync
|
||||
@onmousewheel=@OnMouseWheel
|
||||
@onchange="@Change"
|
||||
@onwheel="OnMouseWheel"
|
||||
@bind-value="@_value"
|
||||
@attributes="@InputAttributes" />
|
||||
|
||||
<span class="highlight"></span>
|
||||
|
@ -121,16 +121,25 @@ public partial class NumberInput<NumberType>:InputBase where NumberType : INumbe
|
||||
}
|
||||
if (string.IsNullOrEmpty(newVal))
|
||||
{
|
||||
await ValueChanged.InvokeAsync((NumberType)Convert.ChangeType(AdjustDecimalPlaces((NumberType)Convert.ChangeType(null, typeof(NumberType))), typeof(NumberType)));
|
||||
await ValueChanged.InvokeAsync((NumberType)Convert.ChangeType((NumberType)Convert.ChangeType(null, typeof(NumberType)), typeof(NumberType)));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!newVal.Equals(_value))
|
||||
await ValueChanged.InvokeAsync((NumberType)Convert.ChangeType(AdjustDecimalPlaces((NumberType)Convert.ChangeType(newVal, typeof(NumberType))), typeof(NumberType)));
|
||||
await ValueChanged.InvokeAsync((NumberType)Convert.ChangeType((NumberType)Convert.ChangeType(newVal, typeof(NumberType)), typeof(NumberType)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public async Task Change(ChangeEventArgs args)
|
||||
{
|
||||
if (args.Value is not null)
|
||||
{
|
||||
Value = AdjustDecimalPlaces((NumberType)Convert.ChangeType(args.Value, typeof(NumberType)));
|
||||
}
|
||||
ValueChanged.InvokeAsync(Value);
|
||||
}
|
||||
|
||||
[Parameter] public EventCallback<KeyboardEventArgs> OnKeyDown { get; set; }
|
||||
|
||||
private bool CheckKey(string key)
|
||||
|
Loading…
x
Reference in New Issue
Block a user