在Telerik窗口控件中的razor组件上的级联参数-没有获得值集
环境
产品 | Blazor窗口 |
描述
我有许多嵌套的控件,并且我有一个包含所有控件的级联值。当我将一个嵌套组件放入Telerik窗口时,该组件上的级联参数不起作用(它的值为)零
).
如果我将组件移到Telerik窗口之外,那么CascadingParamter
方法获取正确的值CascadingValue
。
导致\可能原因(s)
这种行为的原因是Telerik窗口在应用程序的根位置呈现,所以它的内容脱离了原来的CascadingValue组件的上下文。
解决方案
解决方案是公开aCascadingParameter
在承载窗口的组件中,并使用新的CascadingValue
因为它的内容。这将保持值的嵌套链不被破坏。
第1部分-将值传递给其子组件的最顶层组件
@*样本数据-整数在这种情况下,为了简洁,可以是一个真正的模型*@ @code{公共int MyData {get;设置;} protected override async Task OnInitializedAsync() {MyData = new Random()。下(1000);}}
第2部分-承载teleerik窗口的组件
@*定义了一个新的CascadingValue,它将把数据传播到WindowContent *@ ComponentA
OpenPopup < windowscontent >< CascadingValue Value="@MyData" Name="SomeCascadingData">