如何调整MudBlazor表格的列宽

9

MudTable 组件非常棒,看起来很漂亮。但是我想配置列宽度。这可能吗?

<MudTable Items="@my_users">
    <HeaderContent>
    <MudTh>Nr</MudTh>
        <MudTh>Username</MudTh>
        <MudTh>Email</MudTh>
        <MudTh>Role</MudTh>
        <MudTh>Actions</MudTh>
    </HeaderContent>
    <RowTemplate>
        <MudTd>@context.Nr</MudTd>
        <MudTd>@context.Username</MudTd>
        <MudTd>@context.Email</MudTd>
        <MudTd>@context.Role</MudTd>
        <MudTd>
       <MudButton @onclick="@(()=> OnEdit(@context))">Edit</MudButton>
        </MudTd>
    </RowTemplate>
    <PagerContent>
        <MudTablePager PageSizeOptions="new int[]{10, 25, 100}" />
    </PagerContent>
</MudTable>


问题是,所有列的列宽都相同。我想限制第一列和最后一列的宽度。我知道可以使用普通的HTML表格,但外观不太好看。MudTable可以进行筛选和多选。所以我知道HTML可以使用colgroup标记,但如何在MudTable中应用呢?我尝试在HeaderContent中添加colgroup,但没有效果。谢谢帮忙。
2个回答

6

有可能,colgroup是由一位贡献者添加到MudBlazor中的,并且在这里有记录。使用它,您的代码将如下所示:

  <MudTable Items="@my_users">
    <ColGroup>
        <col style="width: 60px;" />
        <col />
        <col />
        <col />
        <col style="width: 60px;"/>
    </ColGroup>
    <HeaderContent>
    <MudTh>Nr</MudTh>
        <MudTh>Username</MudTh>
        <MudTh>Email</MudTh>
        <MudTh>Role</MudTh>
        <MudTh>Actions</MudTh>
    </HeaderContent>
    <RowTemplate>
        <MudTd>@context.Nr</MudTd>
        <MudTd>@context.Username</MudTd>
        <MudTd>@context.Email</MudTd>
        <MudTd>@context.Role</MudTd>
        <MudTd>
       <MudButton @onclick="@(()=> OnEdit(@context))">Edit</MudButton>
        </MudTd>
    </RowTemplate>
    <PagerContent>
        <MudTablePager PageSizeOptions="new int[]{10, 25, 100}" />
    </PagerContent>
</MudTable>

这将限制第一列和最后一列。


在colgroup元素上我遇到了错误。 错误RZ9996:组件“MudTable”内无法识别的子内容。 组件“MudTable”通过以下顶级项接受子内容:“RowTemplate”,“ChildRowContent”,“RowEditingTemplate”,“ToolBarContent”,“HeaderContent”,“ColGroup”,“PagerContent”。 (68,9) - woaksie
我将Style值添加到了MudTh元素中,这样它就可以工作了。我猜测这是因为您最初的帖子中没有添加该值。 - woaksie
1
我搜索的是列调整大小,而不是硬编码。MudTable不支持这个吗? 我找不到可调整大小的列示例。我尝试使用MudDataGrid,但它似乎在嵌套数据类型方面存在问题,另一个答案说要使用MudTable,因为它是“实验性的”。 - Damn Vegetables
@DamnVegetables MudDataGrid仍然标记为实验性的,但它已经稳定下来,并且已经讨论过是否移除实验性标签。为您遇到的嵌套数据问题创建一个可重现的示例,并在StackOverflow上发布讨论或问题,可能会得到帮助。 - henon

1

不要使用Style,而是使用Class

<MudTd Class="clm-row-small"

4
你能否解释一下“Style”和“Class”的区别,以便未来的世代能够理解? - Simas Joneliunas
样式是纯CSS标签,类是预配置的CSS实用程序(类似于Bootstrap)。 - Leandro Toloza

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接