一年前,我创建了一个项目,我在这个问题的答案下面传递了多个参数:Blazor EventCallback与多个参数-如何响应父主机控制中的事件
当我现在在。net 6中尝试不工作(它正在创建一个类并将参数传递给那里的字段,但对我来说不是干净的解决方案)。
父组件:
<MultipleParamsComp OnHandle="@((args) => await HandleParams(((int, string))args))" />
<p>@BaseId</p>
<p>@BaseString</p>
@code {
private int BaseId = 0;
private string BaseString = string.Empty;
private async Task HandleParams((int, string) args)
{
BaseId = args.Item1;
BaseString = args.Item2;
}
}
子组件:
<h4>Child Component</h4>
<button class="btn btn-primary" @onclick="(() => HandleMultipleParams(id))">
Testing
</button>
@code {
private int id = 0;
private string Name = "something";
[Parameter]
public EventCallback<(int, string)> OnHandle { get; set; }
private async Task HandleMultipleParams(int customerId)
{
customerId++;
await OnHandle.InvokeAsync((customerId, Name));
}
}
项目文件行抑制状态错误CS1001标识符期望BlazorTheory E:ProgramareBlazorBlazorTheoryMicrosoft.NET.Sdk.Razor.SourceGeneratorsMicrosoft.NET.Sdk.Razor.SourceGenerators. razorsourcegenerator Theory_EventCallBack_Other_Examples_Passing_multiple_params_in_function_BaseComponent1_razor.g.cs 90 Active
项目文件行抑制状态错误CS0119 '字符串'是一种类型,在给定的上下文中无效BlazorTheory E:ProgramareBlazorBlazorTheoryMicrosoft.NET.Sdk.Razor.SourceGeneratorsMicrosoft.NET.Sdk.Razor.SourceGenerators. razorsourcegenerator Theory_EventCallBack_Other_Examples_Passing_multiple_params_in_function_BaseComponent1_razor.g.cs 90 Active
项目文件行抑制状态错误CS0119 'int'是一个类型,在给定的上下文中无效BlazorTheory E:ProgramareBlazorBlazorTheoryMicrosoft.NET.Sdk.Razor.SourceGeneratorsMicrosoft.NET.Sdk.Razor.SourceGenerators. razorsourcegenerator Theory_EventCallBack_Other_Examples_Passing_multiple_params_in_function_BaseComponent1_razor.g.cs 90 Active
项目文件行抑制状态错误CS0119 'EventCallback'是一种类型,在给定的上下文中无效BlazorTheory E:ProgramareBlazorBlazorTheoryMicrosoft.NET.Sdk.Razor.SourceGeneratorsMicrosoft.NET.Sdk.Razor.SourceGenerators. razorsourcegenerator Theory_EventCallBack_Other_Examples_Passing_multiple_params_in_function_BaseComponent1_razor.g.cs 90 Active
也许我缺乏一些委派或EventCallback的理论以及它们是如何在幕后工作的(任何好的文档链接都会有所帮助)。
泰u。
请看下面的问题-多参数的Blazor EventCallback -如何响应父主机控件中的事件
await NewDayScrolledIntoView.InvokeAsync((p1, p2, p3));
<ShiftCardScroller NewDayScrolledIntoView="@((args)=> NewDayInView(args.Item1,args.Item2,args.Item3))" />