V1.0.0
Skip to content

WTabs 标签页组件 ​

标签页组件,基于 WinDesignNext Tabs 封装,通过 dataSource 数据驱动自动渲染标签页,支持切换事件响应。可选 child 自定义每个标签面板内容。

基础用法 ​

通过 child 引用一个模板组件,渲染到每个 <w-tab-pane> 中,可实现不同标签下的差异化内容(模板内通过 @row.xxx 访问当前标签数据):

Props API ​

属性名类型默认值说明
componentstringWTabs组件类型(必填)
modelValueobject—当前激活标签的 name(A2UI 数据绑定)
typestring—风格:card / border-card-light / menu 等
tabPositionstringtop标签位置:top / right / bottom / left
sizestringmedium尺寸:large / medium / small
closablebooleanfalse标签是否可关闭
addablebooleanfalse是否可增加标签
editablebooleanfalse是否可增删标签
stretchbooleanfalse标签宽度是否自撑开
simplebooleanfalse简单模式(无底线)
actionobject—A2UI v0.9 事件定义
dataSourcestring—标签数据数组路径
childstring—面板内容模板组件 ID,通过 @row.xxx 访问当前标签数据

path 支持说明 ​

属性支持 path说明
modelValue✅双向绑定当前激活标签的 name
dataSource✅字符串路径,指向 dataModel 中的标签数组
模板内子组件✅使用 @row.xxx / @.$index 访问当前标签
action.event.context[].value✅事件上下文可引用 dataModel

绑定示例:

json
{
  "component": "WTabs",
  "modelValue": { "path": "/activeTab" },
  "dataSource": "/tabItems",
  "child": "tab-content-template"
}

数据格式 ​

数据源数组 ​

字段名类型必填说明
labelstring是标签标题
namestring | number否标签唯一标识,缺省用 value 或序号
valuestring | number否同 name 的别名
disabledboolean否是否禁用
lazyboolean否是否延迟渲染面板
closableboolean否是否可关闭

典型 JSON ​

json
{
  "id": "tabs_main",
  "component": "WTabs",
  "modelValue": { "path": "/activeTab" },
  "dataSource": "/tabItems",
  "type": "card",
  "child": "tab-content",
  "action": {
    "event": { "name": "onTabChange", "type": "tab-click" }
  }
}

注意事项 ​

  • child 模板渲染在 每个标签面板 内,通过 @row 获取当前标签项数据
  • modelValue 绑定值为标签项的 name(或 value)
  • 事件默认 type 为 tab-click,关闭标签时为 tab-remove