Trame中Vuetify VListGroup标题与图标配置问题求助
解决方案
关键问题说明
Trame中VListGroup的标题和图标需通过命名参数正确传递,对应规则:
- 标题用
title参数 - 前置图标用
prepend-icon参数 - 必须保证
VListGroup内部嵌套VList容器,再在容器内添加子菜单项(如VListItem),这是遵循Vuetify组件的原生结构要求
修正后的可运行代码
from trame.app import get_server from trame.ui.vuetify import SinglePageLayout from trame.widgets import vuetify server = get_server() state, ctrl = server.state, server.controller with SinglePageLayout(server) as layout: layout.title.set_text("Trame Menu with Submenu") with layout.toolbar: vuetify.VSpacer() with vuetify.VBtn(icon=True, click="$refs.drawer.toggle()"): vuetify.VIcon("mdi-menu") with layout.drawer as drawer: drawer.width = 250 with vuetify.VList(): # 主菜单项 vuetify.VListItem("Dashboard", prepend_icon="mdi-view-dashboard") # 修正后的File子菜单 with vuetify.VListGroup(title="File", prepend_icon="mdi-file"): with vuetify.VList(): vuetify.VListItem("New", prepend_icon="mdi-file-plus") vuetify.VListItem("Open", prepend_icon="mdi-folder-open") vuetify.VListItem("Save", prepend_icon="mdi-content-save") vuetify.VListItem("Settings", prepend_icon="mdi-cog") server.start()
核心修正点
- 参数传递方式:直接用
title="File"和prepend_icon="mdi-file"命名参数赋值,无需使用位置参数 - 组件嵌套结构:
VListGroup内部必须包裹VList,再在VList中添加子VListItem,缺失这层容器会导致标题和图标无法正常渲染 - 图标名称规范:确保使用Vuetify支持的Material Design图标命名(如
mdi-file)
内容的提问来源于stack exchange,提问作者Oleg
相关产品推荐
相关产品推荐

