【发布时间】:2021-02-20 01:49:25
【问题描述】:
我正在尝试将List<string> 从孩子传递给父母。我在父组件中定义了一个Action<List<string>>,并将它作为参数传递给子组件。当子组件内发生事件时,预期结果是使用回调将更新的List<string> 发送给父组件。
我在<TagComponent UpDateNewTags="UpdateTags"></TagComponent> 的父组件中收到编译器错误Argument 2: cannot convert from 'method group' to 'EventCallback'。如果将 UpdateTags 更改为 UpdateTags() 我会得到一个不同的错误。我还尝试将UpdateTags 方法作为@(()=>UpdateTags) 传递,但这也不起作用。现在,我可以开始将我想要传递给父级的信息放入会话本地存储中,并发出信号让父级从那里获取它,但这是承认失败。
如何使用事件回调按需将List<string> 从子级传递给父级?
//Parent
<TagComponent UpDateNewTags="UpdateTags"></TagComponent>
// Parent function
public void UpdateTags (List<string> tags)
{
if (cpdto.NewTagTitles == null)
{
cpdto.NewTagTitles = new List<string>();
}
cpdto.NewTagTitles = tags;
}
//child component.
[Parameter]
public Action<List<string>> UpDateNewTags { get; set; }
【问题讨论】:
标签: c# events blazor blazor-webassembly