У меня возникла проблема с обработкой max при ручном вводе. Моя реализация работает так: когда входное значение уже равно максимальному, например, 13, равному 13, и я ввожу большее значение, оно становится, например, 136. Я пытаюсь преобразовать его в 13, но оно работает только для 2-значной длины, например, 20 преобразуется в 13, но после этого станет 134 или 137
`
@code{
private void UpdateQuantity(EditableSaleItemViewModel item, ChangeEventArgs e)
{
var input = e.Value?.ToString();
if (double.TryParse(input, out double newQuantity))
{
if (newQuantity < 0)
{
newQuantity = 0; // Ensure it's not negative
}
else if (newQuantity > item.MaxQuantity)
{
newQuantity = item.MaxQuantity;
}
item.Quantity = newQuantity;
e.Value = item.Quantity;
item.TotalPrice = Math.Round(item.Quantity * item.UnitPrice, 2);
}
else
{
item.Quantity = 0;
item.TotalPrice = 0;
}
totalAmount = Math.Round(editableSaleItems.Sum(i => i.TotalPrice), 2);
StateHasChanged();
}}
`
Подробнее здесь: https://stackoverflow.com/questions/789 ... -in-blazor