如何更新 InputSelect 源

How to update InputSelect source

我的组件上有一个 InputSelect 控件,我需要即时重新填充它。 IE。根据所选国家/地区重新填充 states/provinces 列表。这是代码:

            <InputSelect id="shippingAddressState" @bind-Value="AddressModel.State" class="form-control selectpicker mx-2">
                <option value="">--Select State--</option>

                @foreach (SharedLibrary.Models.StateProvince state in States)
                {
                    <option value="@state.IsoCode">@state.Name</option>
                }
            </InputSelect>

在后面的代码中:

    [Parameter]
    public List<StateProvince> States { get; set; } = new List<StateProvince>();
    [Parameter]
    public EventCallback<List<StateProvince>> StatesChanged { get; set; }
    ...
        States = await JsonGetter.GetConcreteResult<List<StateProvince>>(stateProvinceUrl);
        await StatesChanged.InvokeAsync(States);

但下拉列表中没有任何变化。我错过了什么?到目前为止我能找到的只是绑定所选值,而不是下拉列表的来源...

我明白了。我需要像这样手动调用 StateHasChanged():

        States = await ConcreteHttpResultGetter.GetConcreteResult<List<StateProvince>>(stateProvinceUrl);
        StateHasChanged();

这会刷新组件。