MudBlazor中的MudChip双向绑定



我在Blazor服务器端使用MudBrazor,并尝试双重绑定MudChip。我想将所选芯片保存在数据库中,并在稍后检索数据,然后将芯片预先呈现为所选芯片。基本上是在芯片上做双重绑定。它似乎不起作用,我已经尝试过:

  1. 在OnInitialized方法中创建一个新芯片,并在SelectedChip属性上设置属性(Text、Color、IsSelected(:

<MudContainer>
<MudText Style="display:inline;color:white">Goal Type</MudText>
<MudChipSet @bind-SelectedChip="md"  Style="display:inline;" Filter="true">
<MudChip  Text="Financial" Color="Color.Dark">Financial</MudChip>
<MudChip Text="Personal" Color="Color.Dark">Personal</MudChip>
</MudChipSet>
</MudContainer>

这是代码:

MudChip md;
protected override void OnInitialized()
{
Init();
}
public void Init()
{
if (md == null)
{
md = new MudChip { Color = Color.Dark, Text = "Financial", IsSelected = true };
}
}
  1. 创建对所选芯片的引用:

<MudChipSet @bind-SelectedChip="md" @onselect="OnSelect" Style="display:inline;" Filter="true">
<MudChip Text="Financial" Color="Color.Dark">Financial</MudChip>
<MudChip @ref="personal" Text="Personal" Color="Color.Dark">Personal</MudChip>
</MudChipSet>

这是代码:

MudChip md;
MudChip personal;
protected override void OnInitialized()
{
if(md is null)
{
md = personal;
}
}

这些方法都不起作用,你知道双重绑定是否可能吗?我在GitHub页面上也问过,其中一位贡献者说,通过使用提供的例子,这是可能的。对我来说,它们帮不了什么忙。这是GitHub的问题:

https://github.com/Garderoben/MudBlazor/discussions/1791

OnInitialized在第一次渲染之前被激发,因此设置md=personalpersonal仍将为null。

当firstRender为真时,将该代码移动到OnAfterRender(bool-firstRender(

相关内容

  • 没有找到相关文章

最新更新