【问题标题】:How to update multiple properties when one prop is changing当一个道具发生变化时如何更新多个属性
【发布时间】:2022-08-07 08:11:22
【问题描述】:

我有一个有房产区和另一个房产部门的课程。

我想在 Area 属性发生变化时更新 The Department。

我正在使用 Mudblazor 自动完成 @bind-Value 但此方法仅更新绑定的属性,即区域。

一种解决方案可能是改变 area 属性中的设置器,但我认为这不是一个可靠的解决方案。

表格.cs

public DepartmentResponse Department
{
 get;
 set;
}
public AreaResponse Area
{
 get;
 set;
}

剃刀页面

<MudAutoComplete 
@bind-Value=\"ViewModel.Area\"
/>

<MudAutoComplete 
@bind-Value=\"ViewModel.Department\"
/>

因此,当我更改区域时,我想将部门设置为与 areaId 匹配的第一个部门。

  • 你有我可以查看的 GitHub 存储库吗?

标签: c# blazor mudblazor


【解决方案1】:

如果您希望避免修改Area 属性的设置器,请随意使用ValueChanged 事件而不是@bind-Value

例子:

https://try.mudblazor.com/snippet/QaQQYWOruEaCHJbr

<MudText Color=Color.Success class="mt-3">Selected: @area</MudText>
<MudAutocomplete T=string SearchFunc=@Areas ValueChanged=@OnAreaChanged />

@code {
    private string area;
    private string[] AvailableAreas = { "Area 1", "Area 2", "Area 3", };

    private Task<IEnumerable<string>> Areas(string value)
    {
        return Task.FromResult(AvailableAreas.AsEnumerable());
    }

    private void OnAreaChanged(string newArea)
    {
        area = newArea;
        // More code
    }
}

【讨论】:

    猜你喜欢
    • 2017-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    • 1970-01-01
    • 1970-01-01
    • 2021-01-15
    相关资源
    最近更新 更多