首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Blazor无法从“方法组”转换为“EventCallback”

Blazor无法从“方法组”转换为“EventCallback”
EN

Stack Overflow用户
提问于 2020-10-11 20:59:19
回答 9查看 33.2K关注 0票数 28

我有一个父组件和一个具有事件回调的子组件,在其中我希望它传回一种类型的T。

我遇到的问题是我在转换

MethodGroup to EventCallback。

如果我将它转换为使用Action,那么它就能工作,但我不能这样做,这并不理想。

知道我做错什么了吗?

父级

代码语言:javascript
运行
复制
<Child DeleteCallback="@OnDelete"></Child>

public async Task OnDelete(T item)
{ ... }

孩子

代码语言:javascript
运行
复制
@typeparam T

[Parameter]
public EventCallback<T> DeleteCallback { get; set; }

 <a @onclick="() => DeleteCallback.InvokeAsync(item)"></a>

我在这里加了一个回购表来解释这个问题。看看Blazor的问题,这个问题应该是在2019年修复的。https://github.com/scott-david-walker/EventCallbackError

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2020-10-11 21:36:31

你们很亲密:

代码语言:javascript
运行
复制
<ChildComponent Item="someModel" T="SomeModel" DeleteCallback="OnDeleteSomeModel" />

@code {
    SomeModel someModel = new SomeModel();

    void OnDeleteSomeModel(SomeModel someModel)
    {
        ...
    }
}

EventCallback使用泛型类型,如果不将该类型传递给组件,则blazor无法推断该类型。

这意味着,如果您有一个EventCallback<T>,您需要将T的值传递给组件,例如T="SomeType"

票数 42
EN

Stack Overflow用户

发布于 2021-01-22 09:00:47

在我的例子中,我声明了一个可为空的EventCallback? --您不能这样做。

票数 11
EN

Stack Overflow用户

发布于 2021-01-27 07:57:42

我已经经历了语法上的问题,但仍然会出现这个错误。

重新启动Visual 2019为我解决了这个问题。仅仅清洁和重建是不够的。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64308947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档