如何将信息从 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; 
}

出于某种原因,我似乎无法显示或使用 eItem 位于包含 NamePrice 的对象上,我想在第二个输入上显示价格。

你只是错过了将 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;
    }
}