blazor - Blazor Server 简单 onchange 事件无法编译
问题描述
所以我想做一个简单明了的 onchange 事件。当用户更改不属于任何表单的下拉列表中的选项时,我希望它更改我的 Store 类(这是您使用 React-Context 所做的替代品)。
所以我在这里有我的组件:
<select @onchange="OnRestaurantChanged">
@foreach (var restaurant in _restaurantStore.State.RestaurantList)
{
<option value="@restaurant.Id">@restaurant.Name</option>
}
</select >
和我单独的组件代码文件:
using MenuApp.Stores.Restaurant;
namespace MenuApp.Pages.Components.Restaurants
{
public partial class RestaurantSelector : ComponentBase
{
[Inject]
private IRestaurantStore _restaurantStore { get; set; }
public string RestaurantId { get; set; }
private void OnRestaurantChanged(ChangeEventArgs event)
{
_restaurantStore.ChangeSelectedRestaurant();
}
}
}
但无论我做什么,我都会收到以下编译器错误,尽管事实上每个教程或示例似乎都可以在没有这些错误的情况下工作。
如果我从函数中删除事件参数,那么一切似乎都可以编译。但是我需要应用程序正在更改的餐厅的 ID,因此在更改时运行盲函数对我来说毫无意义。
我正在考虑绑定到一个变量,然后使用 onChange 将绑定的变量发送到我的 store 函数,但我认为双重绑定不仅没有必要,而且可能会导致其他问题。
如何访问 ChangeEventArgs?
解决方案
// private void OnRestaurantChanged(ChangeEventArgs event)
private void OnRestaurantChanged(ChangeEventArgs @event)
event
是保留字。您可以使用@
. 一般 C# 规则,与 Razor 无关。
推荐阅读
- python - Span 类中的 Python 美丽汤刮文字
- javascript - Javascript 按两个属性对 JSON 对象进行分组并计数
- ios - 组件卸载时标记被删除(仅 iOS 上的问题) react-native-maps
- java - 为什么我的字符串距离总是5?
- asynchronous - 异步函数返回一个 Pending Promise
- xcode - 如何摆脱 MacOS 中自动添加的菜单项?
- python - 点击这么多次后,Jupyter 没有从 anaconda 导航器启动,我收到了这个错误
- xslt - 如何使用 - XSLT 将嵌套部分 DOCX 文件转换为 XML
- java - 一些通知后无法接收推送通知
- bash - 如何从 bash 的子shell输出中修剪空格,而不是换行符?