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简单模式(无底线)
actionobjectA2UI 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 | numbername 的别名
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
  • 事件默认 typetab-click,关闭标签时为 tab-remove