Blazor .NET 6 组件事件处理程序参数不在父处理程序中工作
Blazor .NET 6 Component EventHandler Parameter Dont work in parent handler
我使用 .NET 6 和 visual Studio 2022
我有一个带有 EventHandler 的组件,如下所示
[Parameter] public EventCallback<DIMCustomer> OnSelectedCustomer { get; set; }
并在此组件的方法中调用此事件,如下所示
async Task Select(DIMCustomer customer)
{
db.Entry(customer).State = EntityState.Detached;
await OnSelectedCustomer.InvokeAsync(customer);
await CloseModal();
}
在 Parent 中,我这样使用这个组件:
<CustomerSelectorModalComponent @ref=DOMCustomerSelector OnSelectedCustomer=OnCustSelected />
和这个方法:
void OnCustSelected(DIMCustomer customer)
{
if (CustomerModalMode == customerMode.Owner)
{
dIMCheque.OwnerCustomer = customer;
dIMCheque.ShOwner = customer.ID;
}
else if (CustomerModalMode == customerMode.Benefit)
{
dIMCheque.BeneficiaryCustomer = customer;
dIMCheque.ShBeneficiary = customer.ID;
}
}
但是这个方法不再有效了!???
此图片显示添加了用于触发的方法处理程序,但为什么不触发???
组件“CustomerSelectorModalComponent”在另一个组件中工作得很好,但在这个父组件中不起作用...
为什么 ????
我发现了问题但无法修复它们
我希望我的组件和事件处理程序如下图所示
但 Blazor 事件处理程序如下所示
我该如何解决...
两个组件客户在存款组件中坚持使用一个事件处理程序
这是我在存款组件中的剃刀
<CustomerComponent @ref=DOMCustomerComponent OnSelectedCustomer=OnCustomerSelected></CustomerComponent>
这是我在模态组件中的剃刀
<DepositComponent @ref=DOMDeposit OnDepositSelected=OnSelectDeposit />
<CustomerComponent @ref=DOMCustomer OnSelectedCustomer=OnCustSelected />
我的问题是元素 ID ...
组件 html 元素有 ID,有些通过 ID 元素与 JavaScript 一起工作 ...
我有两个相同的组件导致重复的 Id 元素并中断工作......
我用 GUID 生成动态 ID,问题解决了...
我使用 .NET 6 和 visual Studio 2022 我有一个带有 EventHandler 的组件,如下所示
[Parameter] public EventCallback<DIMCustomer> OnSelectedCustomer { get; set; }
并在此组件的方法中调用此事件,如下所示
async Task Select(DIMCustomer customer)
{
db.Entry(customer).State = EntityState.Detached;
await OnSelectedCustomer.InvokeAsync(customer);
await CloseModal();
}
在 Parent 中,我这样使用这个组件:
<CustomerSelectorModalComponent @ref=DOMCustomerSelector OnSelectedCustomer=OnCustSelected />
和这个方法:
void OnCustSelected(DIMCustomer customer)
{
if (CustomerModalMode == customerMode.Owner)
{
dIMCheque.OwnerCustomer = customer;
dIMCheque.ShOwner = customer.ID;
}
else if (CustomerModalMode == customerMode.Benefit)
{
dIMCheque.BeneficiaryCustomer = customer;
dIMCheque.ShBeneficiary = customer.ID;
}
}
但是这个方法不再有效了!???
此图片显示添加了用于触发的方法处理程序,但为什么不触发???
组件“CustomerSelectorModalComponent”在另一个组件中工作得很好,但在这个父组件中不起作用... 为什么 ????
我发现了问题但无法修复它们
我希望我的组件和事件处理程序如下图所示
但 Blazor 事件处理程序如下所示
我该如何解决... 两个组件客户在存款组件中坚持使用一个事件处理程序
这是我在存款组件中的剃刀
<CustomerComponent @ref=DOMCustomerComponent OnSelectedCustomer=OnCustomerSelected></CustomerComponent>
这是我在模态组件中的剃刀
<DepositComponent @ref=DOMDeposit OnDepositSelected=OnSelectDeposit />
<CustomerComponent @ref=DOMCustomer OnSelectedCustomer=OnCustSelected />
我的问题是元素 ID ... 组件 html 元素有 ID,有些通过 ID 元素与 JavaScript 一起工作 ... 我有两个相同的组件导致重复的 Id 元素并中断工作...... 我用 GUID 生成动态 ID,问题解决了...