You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取MudList中选中项的索引及对应绑定对象?

正确实现方法

直接通过绑定原始对象的方式就能解决问题,无需通过索引查找,步骤如下:

  1. 调整MudList和MudListItem的绑定逻辑

    • 给每个<MudListItem>设置Value="@branch",把列表项和原始Branch对象关联起来
    • 将MudList的@bind-SelectedItem直接绑定到Branch类型的变量,而非MudListItem
  2. 简化后台代码逻辑

    • 定义Branch类型的选中项变量,后续创建Staff时直接用这个变量即可

完整代码示例:

<MudList Clickable="true" @bind-SelectedItem="selectedBranch">
    @foreach (Branch branch in branches)
    {
        <MudListItem Text="@branch.BranchName" Value="@branch"></MudListItem>
    }
</MudList>

@code {
    private List<Staff?> staffs = new List<Staff>();
    private List<Branch> branches = new List<Branch>();
    // 直接绑定选中的原始Branch对象
    private Branch selectedBranch { get; set; }

    // 示例:创建Staff的方法(建议放到触发事件里,比如按钮点击)
    private void CreateStaff(string firstName, string lastName, string adress)
    {
        // 先判断选中项不为空,避免空引用
        if (selectedBranch == null) return;
        
        Staff staff = new Staff
        {
            FirstName = firstName,
            LastName = lastName,
            Adr = adress,
            Br = selectedBranch
        };
        staffs.Add(staff);
    }
}

关键说明

  • 核心是利用MudListItem的Value属性关联原始对象,让MudList的选中项直接对应Branch实例,省去索引查找的步骤
  • 一定要判断selectedBranch不为空再使用,防止出现空引用异常

内容的提问来源于stack exchange,提问作者Bosse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 01:08:21