Blazor数据绑定动态生成的元素

Blazor数据绑定动态生成的元素,blazor,Blazor,我想从Blazor网页上的“AdditionalFields”列表中动态创建和绑定一些选择元素 我需要将每个元素绑定到CheckoutData变量 但我不知道如何创建一个变量/数组,或者类似的东西,通过bind值正确地更新它 有关更多详细信息,您可以查看我的附件()和以下源代码: @if (StoreData.StoreContainer?.AdditionalFields != null) @foreach (var additionalField in StoreData.S

我想从Blazor网页上的“AdditionalFields”列表中动态创建和绑定一些
选择
元素

我需要将每个元素绑定到
CheckoutData
变量

但我不知道如何创建一个变量/数组,或者类似的东西,通过bind值正确地更新它

有关更多详细信息,您可以查看我的附件()和以下源代码:

@if (StoreData.StoreContainer?.AdditionalFields != null)
    @foreach (var additionalField in     StoreData.StoreContainer.AdditionalFields)
    {
        <div class="col-sm-6">
            <div class="page_input">
                <label> @additionalField.Caption </label>
                <InputSelect class="checkout-control pristine untouched" @bind-Value="@CheckoutData.OrderTimeType">
                    @foreach (var keyValue in additionalField.ValueList)
                    {
                        <option value="@keyValue.Sort" selected="@(keyValue == additionalField.ValueList[0] ? "selected" : "")">@keyValue.SelectionText</option>
                    }
                </InputSelect>
            </div>
        </div>
    }
@if(StoreData.StoreContainer?.AdditionalFields!=null)
@foreach(StoreData.StoreContainer.AdditionalFields中的var additionalField)
{
@附加字段。标题
@foreach(additionalField.ValueList中的var keyValue)
{
@keyValue.SelectionText
}
}
我创建了一个示例,展示了如何处理
附加字段列表中的元素选择,大致与问题中的示例相同

为了显示选择,我在
附加字段
类中添加了一个
.Selected
属性,但您可能将其存储在其他地方

需要注意的要点:
int count=additionalFields.count;
对于(变量i=0;i
我使用了一个
for
循环来迭代
附加字段
,并在循环中保存了当前索引-这对于确保不会在
@onchanged
事件处理程序中传递循环变量很重要。我在这里没有使用
绑定
,因此很容易看到发生了什么


我使用了一个HTML选择而不是
InputSelect
,并处理
@onchange
事件:这将事件参数
e
和当前索引传递给
HandleSelect
方法

您可能需要采用这种方法,但它展示了一种可以在Blazor中动态绑定的方法

重要注意事项:代码将第二个字段的
所选
值设置为第二个排序值,以证明
所选
属性工作正常


但是,请注意,第一个字段显示“sort 1”为选中状态,但不会触发事件-这是HTML自动选择选择列表中的第一个元素,因此第一个元素的
selected
属性仍然为空。请确保在开始时将所选属性设置为第一个值,例如设置为第一个值,或者使用空白
[选择排序] < /代码>作为绑定到空白选择的第一个项目。

您能说明问题是什么吗?您是否试图说<代码> CuffOutDATA?OrthTimeType < /代码>没有被更新到下拉列表中当前选定的值吗?不,该变量是错误的(复制粘贴)只想在checkout类中包含变量,这些变量将被正确填充/绑定到additionalFields列表,但现在和这里不知道如何执行此操作…您能否澄清additionalFields属性是什么类型的?additionalFields是带有标题(字符串)和ValueList的简单类列表(带有排序和选择文本的附加字段的ValueMembers列表)。