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,问题解决了...