【发布时间】:2020-12-25 15:43:02
【问题描述】:
我有以下问题:
当我的菜单侧边栏从“打开状态”更改为“关闭状态”或其他方式时,页面中组件的宽度不会刷新,导致如下所示:
现在这可以通过调用 SfMaps 组件的“刷新”函数来解决,这样宽度也会被刷新,但是我无法这样做,因为我的边栏在另一个 Razor 组件中。
因此我需要在我的 NavMenu.razor(sidebar 组件) 中调用一个方法来刷新 SfMap 组件的另一个类中的方法,该方法将从侧边栏的 OnChange 方法中调用。
这是我迄今为止尝试过的:
声明Test.page的实例,当侧边栏状态发生变化时调用“RefreshItem()”方法:
导航菜单。剃须刀:
<SfSidebar Width="250px"
EnableDock="true"
DockSize="65px"
Position="SidebarPosition.Left"
Type="SidebarType.Push"
@ref="Sidebar"
IsOpen="true"
Changed="ManageSideBar">
</SfSideBar>
@code{
[CascadingParameter]
ApplicationName.Pages.Test testLayout { get; set; }
void ManageSideBar()
{
if (testpage != null)
{
this.testLayout.RefreshItem();
}
}
}
Test.Razor:
<SfMaps ID="map" @ref="maps" Width="100%">
</SfMaps>
@code
{
SfMaps maps;
public void RefreshItem()
{
maps.Refresh();
}
}
然而,这段代码不能以某种方式工作,它告诉我“Test.Razor”即使在我加载它之后也是空的。 有人知道这是怎么发生的,或者有人有其他解决方案来解决我的问题吗?
提前致谢!
【问题讨论】:
标签: c# .net razor blazor syncfusion