首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Blazor (剃刀组件)从父组件刷新子组件

Blazor (剃刀组件)从父组件刷新子组件
EN

Stack Overflow用户
提问于 2019-07-05 03:49:57
回答 5查看 9.2K关注 0票数 12

我有一个简单的子Blazor组件(MyModal),如下所示:

代码语言:javascript
复制
<div class="modal">
    <h3>@Title</h3>
    @BodyTemplate
</div>

@code
{
    [Parameter] string Title { get; set; }
    [Parameter] RenderFragment BodyTemplate { get; set; }
}

在我的父组件中,我这样调用它:

代码语言:javascript
复制
<MyModal Title="Super Cool Modal">
        <BodyTemplate>
            @MyObject.Name
        </BodyTemplate>
</MyModal>

public MyObject MyObject { get; set; } = new MyObject();

稍后,在页面初始呈现后,我更新了MyObject,但是引用@MyObject.Name的子组件本身从不更新。

似乎我必须在更新对象(StateHasChanged)后强制刷新该子对象,但不确定如何在本例中做到这一点。

EN

回答 5

Stack Overflow用户

发布于 2020-02-08 01:14:28

你可以试试这个

创建可从父级调用的公共刷新方法

代码语言:javascript
复制
<div class="modal">
    <h3>@Title</h3>
    @BodyTemplate
</div>

@code
{
    [Parameter] string Title { get; set; }
    [Parameter] RenderFragment BodyTemplate { get; set; }

    public void RefreshMe()
    {
        StateHasChanged();
    }
}

调用子刷新方法

代码语言:javascript
复制
<MyModal Title="Super Cool Modal"
         @ref="ChildComponent">
        <BodyTemplate>
            @MyObject.Name
        </BodyTemplate>
</MyModal>
@code
{
   public MyObject MyObject { get; set; } = new MyObject();
   protected UploadDownloadComponent ChildComponent;

   //Call this method to update the child
   private void Change(TreeEventArgs args)
   {
       ChildComponent.RefreshMe();
   }
}
票数 5
EN

Stack Overflow用户

发布于 2020-04-10 14:42:53

由于<MyModal>有一个RenderFragment参数,在父组件上调用StateHasChanged()就足够了,它将重新计算并呈现所有带有父组件参数的子组件。

票数 1
EN

Stack Overflow用户

发布于 2021-04-22 21:58:45

您可以对子组件执行"OnParametersSetAsync()“:

父组件:

代码语言:javascript
复制
<childCompoment param="@paramParent" />

子组件:

代码语言:javascript
复制
[Parameter]
public string param{get;set;}

protected override async Task OnInitializedAsync(){await Refresh();}

async Task Refresh(){}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56893632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档