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

MudSelect弹出层位置异常:AnchorOrigin属性无法调整位置求助

MudSelect弹出层位置异常问题及解决方法

问题现象

MudSelect的弹出层未显示在控件正下方,而是偏移到页面按钮下方过远的位置,且通过AnchorOrigin属性无法调整其位置。

相关代码

<MudPaper Class="p-2">
  <MudStack>
    <MudTextField ... />
    <MudSelect T="string" @bind-Value="@Customer.Nationality" Label="Nationality"
       AnchorOrigin="Origin.BottomCenter" ReadOnly="@(!_editCustomerInProgress || Customer.Id == 0)"
       Required="true" RequiredError="Required.">
       @foreach (var country in Countries)
       {
        <MudSelectItem Value="@country" />
       }
     </MudSelect>
     <MudTextField ... />
     <MudTextField ... />
     <MudSelect T="string" @bind-Value="@another_select" ... />
       <MudSelectItem Value=1>xxx</MudSelectItem>
       <MudSelectItem Value=2>yy</MudSelectItem>
       ...
     </MudSelect>
     <MudTextField ... />
     @if (_editCustomerInProgress)
     {
       <div class="d-flex align-center justify-space-between">
         <MudButton Variant="Variant.Filled" Color="Color.Error" Disabled="false" Class="mt-5" OnClick="@(() => OnCancel())">Cancel</MudButton>
         <MudButton OnClick="@(async () => await Submit())" Variant="Variant.Filled" Color="Color.Success" Disabled="false" Class="mt-5 ml-auto">Submit</MudButton>
       </div>
     }
     else
     {
       if (Customer.Id != 0)
       {
         <div>
           <MudButton Variant="Variant.Filled" Color="Color.Info" Disabled="false" Class="mt-5 ml-auto" OnClick="@OnEdit">Edit</MudButton>
         </div>
       }
     }   
</MudStack>

解决方法

问题根源是误将MudThemeProvider放置在MudAppBar组件内部。将MudThemeProvider移动到页面根容器或应用根组件(如MainLayout.razor的合适位置),确保它能正确为所有子组件提供主题定位上下文,即可修复弹出层位置偏移的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 10:03:24