我正在我的 asp.net 核心 mvc 应用程序中创建一个 RazorComponent。
该组件中有一个 html 列表,该列表是根据从模型中获取的项目数动态生成的。
<ul>
@{
foreach (var prod in newProductList)
{
if (prod.Brand.Equals("1") && prod.Class.Equals("2"))
{
<li @onclick="(() => AddToSaleList(prod.Product, prod.ProductId, prod.SellRate))">
<div class="posSelected-item">
<span class="posFoodname inline-block"> @prod.Product </span>
<span class="inline-block posSeletedPrice">@prod.SellRate</span>
<span class="posFoodtotal-item inline-block">
<i class="inline-block fas fa-minus" @onclick="() => Quantity(2)"></i>
<span class="posincrementItem">@changeQuaitity</span>
<i class="inline-block fas fa-plus" @onclick="() => Quantity(1)"></i>
</span>
</div>
</li>
}
}
}
</ul>
UI 看起来像这样(如预期的那样)
问题
UI 上的加号和减号按钮应该增加或减少列表中每个项目的数量。
我写的功能是
int changeQuaitity = 0;
public void Quantity(int e)
{
if (e == 1)
{
changeQuaitity++;
}
else if (e == 2)
{
changeQuaitity--;
}
}
但是,正如您所看到的,由于增量与参数 changeQuantity 绑定,因此单击任何加号或减号按钮会同时更改每个列表项的数量。
当单击列表上的按钮时,如何修改代码以识别一个列表项并仅更改该项目的数量。