【问题标题】:How to call a method of another class in some class using SyncFusion Blazor to refresh a component?如何使用 SyncFusion Blazor 在某个类中调用另一个类的方法来刷新组件?
【发布时间】: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


    【解决方案1】:

    我们准备了一个简单的样品来满足您的预期要求。在下面的示例中,我们在侧边栏展开/折叠的单击方法上使用了时间延迟。这是因为侧边栏在页面组件完全调整大小之前已折叠。在此之前调用 Maps 的 Refresh() 方法。因此,在组件完全调整大小后使用时间延迟刷新地图组件。

    示例链接 - https://www.syncfusion.com/downloads/support/directtrac/292460/ze/BlazorApp1906858485

    有关地图和侧边栏组件,请参阅以下链接。

    地图:

    UG 文档-https://blazor.syncfusion.com/documentation/maps/getting-started/

    演示链接-https://blazor.syncfusion.com/demos/maps/default-functionalities

    API 参考-https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Maps.SfMaps.html

    侧边栏:

    UG 文档-https://blazor.syncfusion.com/documentation/sidebar/getting-started/

    演示链接-https://blazor.syncfusion.com/demos/sidebar/default-functionalities?theme=bootstrap4

    API 参考-https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Navigations.SfSidebar.html

    如果您需要任何进一步的帮助,请告诉我们。

    问候, 苏米亚.P

    【讨论】:

      猜你喜欢
      • 2021-06-10
      • 1970-01-01
      • 2019-06-27
      • 1970-01-01
      • 2015-08-08
      • 1970-01-01
      • 1970-01-01
      • 2019-04-29
      • 1970-01-01
      相关资源
      最近更新 更多