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

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()

核心修正点

  1. 参数传递方式:直接用title="File"和prepend_icon="mdi-file"命名参数赋值,无需使用位置参数
  2. 组件嵌套结构:VListGroup内部必须包裹VList,再在VList中添加子VListItem,缺失这层容器会导致标题和图标无法正常渲染
  3. 图标名称规范:确保使用Vuetify支持的Material Design图标命名(如mdi-file)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 23:49:51