Blazor中如何将数组初始化作为组件属性参数传递?
Blazor直接传递数组初始化作为组件属性的解决方法
你写的代码报错是因为数组初始化的语法不正确,Blazor中不能用@({ "TasksListPage-TasksManager" })这种写法。不用新建字段或属性的情况下,直接使用C#标准的数组/集合初始化语法就能实现需求,具体有两种可行写法:
使用数组初始化器:通过
new[]显式创建数组<TasksGroupsTreeManager AdditionalCSS_Classes=@(new[] { "TasksListPage-TasksManager" }) />如果组件属性支持
IEnumerable<string>类型:也可以用List<string>直接初始化<TasksGroupsTreeManager AdditionalCSS_Classes=@(new List<string> { "TasksListPage-TasksManager" }) />
修改后的完整组件代码示例:
@page "/" <div class="TasksListPage-SpecificContent MainLayout-DynamicContentFillingChildrenElement"> <TasksGroupsTreeManager AdditionalCSS_Classes=@(new[] { "TasksListPage-TasksManager" }) /> <div class="TasksListPage-TasksManager"></div> <div class="TasksListPage-TaskEditor"></div> </div>
内容的提问来源于stack exchange,提问作者Takeshi Tokugawa YD
相关产品推荐
相关产品推荐

