如何将信息从 select 上的点击事件传递到下一个输入
How to pass information from click event on select to next input
我是 Blazor 的新手,我正在尝试根据点击事件将信息从一个输入传递到下一个输入。
例如,我有以下 select 元素:
<select @onchange="(e => DoStuff(e.Value.ToString()))">
@foreach (var item in Items)
{
<option value="@item.Id"> @item.Name </option>
}
</select>
</div>
<div class="d-none d-sm-block col-2">
<input type="number" @bind-value="ItemQuantity"/>
</div>
想法是当用户点击 selected 项目时,我想在下一个输入中发送并捕获该信息(即显示 Item.Price
)
目前,我卡在:
private void DoStuff(string e)
{
isItemSelected = 1;
var Selected = e;
}
出于某种原因,我似乎无法显示或使用 e
。 Item
位于包含 Name
和 Price
的对象上,我想在第二个输入上显示价格。
你只是错过了将 e.Value 转换为 int;
下面的示例可以满足您的需求。
<select @onchange="DoStuff">
<option value="0">A</option>
<option value="1">B</option>
</select>
<div class="d-none d-sm-block col-2">
<input type="number" @bind-value="ItemQuantity"/>
</div>
<h1>Selected Value is: @ItemQuantity</h1>
@code{
int ItemQuantity;
private void DoStuff(ChangeEventArgs obj)
{
if (obj.Value is null) return;
int.TryParse(obj.Value.ToString(), out var v);
ItemQuantity = v;
}
}
我是 Blazor 的新手,我正在尝试根据点击事件将信息从一个输入传递到下一个输入。
例如,我有以下 select 元素:
<select @onchange="(e => DoStuff(e.Value.ToString()))">
@foreach (var item in Items)
{
<option value="@item.Id"> @item.Name </option>
}
</select>
</div>
<div class="d-none d-sm-block col-2">
<input type="number" @bind-value="ItemQuantity"/>
</div>
想法是当用户点击 selected 项目时,我想在下一个输入中发送并捕获该信息(即显示 Item.Price
)
目前,我卡在:
private void DoStuff(string e)
{
isItemSelected = 1;
var Selected = e;
}
出于某种原因,我似乎无法显示或使用 e
。 Item
位于包含 Name
和 Price
的对象上,我想在第二个输入上显示价格。
你只是错过了将 e.Value 转换为 int;
下面的示例可以满足您的需求。
<select @onchange="DoStuff">
<option value="0">A</option>
<option value="1">B</option>
</select>
<div class="d-none d-sm-block col-2">
<input type="number" @bind-value="ItemQuantity"/>
</div>
<h1>Selected Value is: @ItemQuantity</h1>
@code{
int ItemQuantity;
private void DoStuff(ChangeEventArgs obj)
{
if (obj.Value is null) return;
int.TryParse(obj.Value.ToString(), out var v);
ItemQuantity = v;
}
}