我已经对此错误进行了研究,但只是不理解正确的解决方案。
示例代码(直接取自供应商示例)
https://blazor.syncfusion.com/documentation/menu-bar/getting-started/ https://blazor.syncfusion.com/documentation/menu-bar/getting-started/
<SfMenu Items="@MenuItems"></SfMenu>
@code {
public List<MenuItem> MenuItems = new List<MenuItem>{
new MenuItem{ Text = "File", Items = new List<MenuItem>{
new MenuItem{ Text= "Open" },
new MenuItem{ Text= "Save" },
new MenuItem{ Text= "Exit" }}
},
new MenuItem{ Text = "Edit", Items = new List<MenuItem>{
new MenuItem{ Text= "Cut" },
new MenuItem{ Text= "Copy" },
new MenuItem{ Text= "Paste" }}
},
new MenuItem{ Text = "View", Items = new List<MenuItem>{
new MenuItem{ Text = "Toolbars" },
new MenuItem{ Text = "Zoom" },
new MenuItem{ Text = "Full Screen" }}
},
new MenuItem{ Text = "Tools", Items = new List<MenuItem>{
new MenuItem{ Text= "Spelling & Grammar" },
new MenuItem{ Text= "Customize" },
new MenuItem{ Text= "Options" }}
},
new MenuItem{ Text = "Go" },
new MenuItem{ Text = "Help" }
};
}
这将生成 BL0005 组件参数“文本”不应在其组件之外设置。它将使用所有参数来执行此操作。
这是设置要传递给子组件的变量的代码。我看不出有其他方法可以设置这个。该组件没有提供单独的设置器。我真的不明白 VS 团队希望我如何构建和传递这些数据(显然供应商也不明白,如果他们的代码编译时带有相同的警告)。
谁能提供一个具体的例子来说明如何做到这一点?
我读过了在 blazor 中改变组件属性的正确方法 https://stackoverflow.com/questions/59381788/correct-way-to-mutate-a-component-property-in-blazor但在这种情况下我显然无法修改子组件,因为它是第三方库。