首先,我使用的是Blazor WebAssembly 3.2.0 Preview 4
。
我有一个名为ObjectList的对象列表,每个对象都有一个名称为principal
的布尔属性。此列表填充一个表。
逻辑是,列表中只有一个元素可以将principal
属性的值设置为true,所以这就是为什么单选按钮是理想的。
在本例中,我使用MatBlazor作为控件库。
有没有一种方法可以像下面的代码中那样将此属性的单选按钮放在表中?
<table class="table table-condensed">
<thead>
<tr>
<th>Object</th>
<th>Principal</th>
</tr>
</thead>
<tbody>
@foreach (var object in ObjectList)
{
<tr>
<td>@object .name</td>
<td>
<MatRadioButton TValue="bool" Value="@object.principal"></MatRadioButton>
</td>
</tr>
}
</tbody>
</table>
MatRadioButton按钮进入MatRadioGroup:
<MatRadioGroup @bind-Value="@Val1" TValue="string">
<MatRadioButton Value="@string.Empty" TValue="string">Default</MatRadioButton>
<MatRadioButton Value="@("f")" Label="Female" TValue="string"></MatRadioButton>
<MatRadioButton Value="@("m")" TValue="string">Male</MatRadioButton>
<MatRadioButton Value="@("d")" Disabled="true" TValue="string">Disabled</MatRadioButton>
</MatRadioGroup>
@code
{
protected string Val1;
}
MatRadioButton文档
所以在你的情况下,它可能是这样的:
<MatRadioGroup @bind-Value="@object.principal" TValue="bool">
<MatRadioButton Value="true" TValue="bool">True</MatRadioButton>
<MatRadioButton Value="false" TValue="bool">False</MatRadioButton>
</MatRadioGroup>
我在这里分享这一点也是因为我需要类似的东西,而且周围没有太多好的答案。