c# - 如何从 blazor 中的 EventCallback 获取返回值?
问题描述
我的情况是这样的:我正在尝试实现和自动完成。
自动完成将有一个Parameter
将接收 astring
并返回 a IEnumerable<TValue>
。
这是我正在尝试做的一个例子
自动完成.razor
@code {
[Parameter]
public SOME_TYPE GetItems { get; set; }
async void Foo(){
IEnumerable<TValue> items = await GetItems(SomeString);
// do something with items
}
}
父组件.razor
<Autocomplete TValue="SomeEntity"
GetItems="@GetItems" />
@code {
SOME_TYPE GetItems(string name) {
IEnumerable<SomeEntity> entity = await GetEntitys(name);
return entity;
}
}
问题是我不知道该放什么SOME_TYPE
。我应该使用EventCallback
吗?Action
? 我应该使用什么?
我尝试使用EventCallback
,但看起来我无法从中获得返回值EventCallback
?我不知道。
解决方案
我只是找出如何做到这一点,我应该使用Func<string, Task<IEnumerable<TValue>>>
.
[Parameter]
public Func<string, Task<IEnumerable<TValue>>> GetItems { get; set; }
和
public async Task<IEnumerable<Employee>> GetItems(string name) {
IEnumerable<SomeEntity> entity = await GetEntitys(name);
return entity;
}
推荐阅读
- swift - 当我将 Viewcontroller 设置为根导航控制器时,我收到 found nil 错误
- python - 从 txt 文件中删除以 xyz 结尾的行
- python-2.7 - 如何捕捉 ctrl+v?
- java - org.apache.jackrabbit.rmi.value.StringValue; 本地类不兼容
- django - onselect 时将选择的下拉项发送到视图
- visual-studio - .NET Core 控制台应用程序退出,错误代码为 -2147450743 (0x80008089)
- swift - 创建一个可复制的协议默认初始化器
- apache - FallbackResource 不会重写 php 文件
- css - SVG 动画逐步旋转
- r - 使用 for 循环时无法汇总最小值和最大值