【问题标题】:Blazor: Call Web API on property changeBlazor:在属性更改时调用 Web API
【发布时间】:2019-10-08 17:14:26
【问题描述】:

我是 Blazor 的新手。目前,当我尝试从客户端 Blazor 应用程序(Web 程序集)调用 Web API 并在我的 UI 中使用复选框作为 GET 参数的过滤器时,我遇到了问题。

示例: 我有一个复选框:

<input type="checkbox" class="form-check-input" id="chkOnlyActiveRecords" @bind="OnlyActiveRecords" @onclick="LoadDataFromServer" />

和 API 调用:

@code {    

public bool OnlyActiveRecords{ get; set; }

private async Task LoadDataFromServer()
{
    data = await Http.GetJsonAsync<IList<Zeme>>($"Zeme?onlyActive={this.OnlyActiveRecords}");
}

}

问题是属性 OnlyActiveRecords 包含 OnClick 时的旧值。

当我使用 onchange 事件时:

<input type="checkbox" class="form-check-input" id="chkOnlyActiveRecords" @bind="OnlyActiveRecords" @onchange="LoadDataFromServer" />

我收到错误消息:“'@bind' 指令属性使用了属性 'onchange'。”

当 Blazor 中的属性值发生变化时,我有什么方法可以调用方法吗?

【问题讨论】:

    标签: blazor blazor-client-side


    【解决方案1】:

    我认为你的问题是 @onchange 是 @bind 功能的一半,所以你需要使用

    @bind-value="OnlyActiveRecords" @onchange="LoadDataFromServer"

    将更改事件与设置值分开。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-26
      • 2021-08-24
      • 2018-08-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-04
      • 1970-01-01
      相关资源
      最近更新 更多