【发布时间】:2020-03-01 01:25:11
【问题描述】:
我正在创建 2 个 blazor 组件:AlertMessage 和 AlertMessageGroup。 AlertMessageGroup 旨在在其中包含多个 AlertMessage 组件。我希望AlertMessageGroup 具有基于AlertMessages 的数量和类型的显示逻辑(AlertMessageType 是一个AlertMessage 参数,并且可能会引用一个枚举值)。
父组件(例如AlertMessageGroup)是否有可能知道它包含多少子组件(例如AlertMessage),并有基于此的显示逻辑?
(我会补充说理想情况下我希望能够单独使用单个AlertMessage,如果我不这样做,则不必将其包含在AlertMessageGroup 中想要)
【问题讨论】:
-
您可以使用 CascadingParameter 来执行此操作,但我建议您不要这样做。一旦您开始使用数据绑定,这实际上是违反直觉的。您能否将组件绑定到 ICollection | IEnumerable,然后只使用 Count 方法找出您正在迭代的项目数?
-
嘿@EdCharbeneau - 谢谢你的建议 - 你能扩展一下吗?当我想到数据绑定时,我正在考虑将参数值绑定到文本字段之类的控件,因此我不确定您将 IEnumerable 绑定到组件本身的确切含义。
-
抱歉回复晚了,不知怎的,这在洗牌中迷路了。对于正在寻找相同解决方案的任何人,现在都有一个可靠的答案。
标签: c# components blazor .net-core-3.0 blazor-client-side