跳到主要内容

标签页

提供平级的区域将大块内容进行收纳和展现,保持界面整洁

经典案例:动态标签页动态增删标签页

何时使用

  • 将平级的内容进行收纳和切换展示

功能演示

常规操作

  • 添加标签页:选中标签页组件,在右侧配置栏点击添加标签页
  • 标签页内容:每个标签页都有自己的插槽,点击标签名称即可切换到该标签页,
  • 删除标签页:选中标签,在右侧配置栏进行前后移动、删除操作
  • 其他配置:标签页组件的配置是非常直观的,整个标签页组件以及每个标签页都有对应的配置,选中即可修改。

常规标签页

动态标签页

动态标签页可以自由增删标签,每个标签的内容都是由JS生成的。因此搭建功能时必须事先规划好这些动态标签的内容与标签的key或者index有什么关系,然后用一个内容区来渲染当前激活Tab的内容。

假设有这样一个需求:

  • 添加一个用户数据标签页,支持动态增删标签,每个标签代表一个用户。
  • 标签内容:用户序号、用户姓名输入框。数据结构:{index, name}
  • 标签页底部添加一个新增用户按钮,点击时新增一个标签页
  • 标签页底部添加一个提交按钮,点击时收集所有数据并在控制台输出

添加动态标签页

有三步:添加标签页组件、打开「动态标签页」开关、打开「隐藏插槽占位」开关、添加自定义内容区。

因为标签页插槽只负责当前标签页的内容,无法满足动态标签页的需求,所以我们要自定义内容区。

动态标签页

标签数据维护

我们需要变量tabData来存储标签数据:{id, key, name, closable, user: {id, name}},还需要变量currentTab来记录当前激活的标签key。

特别注意:设置标签页数据需要的id和key是字符串,如果类型不对,会导致标签页自动激活失效

tab数据变量

用户打开页面时,最好能显示一个默认的Tab,因此我们在打开页面时创建默认数据并更新tabData: 默认Tab

标签选择函数

此时显示了默认的Tab数据,我们还需要将该项设置为激活Tab,并显示对应的用户数据。这个逻辑在切换Tab时也需要用,因此我们做一个通用函数Fx:负责激活Tab项、设置用户序号、设置用户姓名、给出错误提示 激活Tab函数

现在需要在打开页面时调用这个Fx,新增标签、切换标签时也都需要调用它: 激活默认Tab

点击Tab时调用Fx: 点击Tab

新增标签

一个标签就是一个用户,因此我们在新增用户按钮上添加事件,点击时创建新的标签数据,并更新tabData、激活最新Tab: 新增Tab

记录用户数据

文本框输入时,更新当前tab项的user.name:根据currentTab找到对应的Tab数据,将输入的值保存到user.name上 记录用户姓名

提交数据

用户数据都在tabDdata里,提交时只要遍历该数组即可。

完整配置

标签页

整个标签页组件的配置项。

属性名称说明
插槽布局也就是标签页内容的布局方式设置,详见《内容布局》
添加标签页添加新的标签页
外观配置标签的外观,包括卡片和简约(默认)类型
尺寸标签大小, 默认是中(middle)
标签位置标签位置, 默认是上部(top)
标签居中标签是否居中显示,这在标签页较少时使用,左右留白多,效果更明显
禁止点击切换开启后,禁止点击切换标签页
隐藏时是否渲染内容标签页被隐藏时是否渲染 DOM 结构
动态设置显示tab开启后,可以通过逻辑连线连接标签页的输入项【设置显示tab】设置显示(激活)的标签页
隐藏插槽占位是否隐藏插槽占位
动态标签页开启后,可以通过逻辑连线连接标签页的输入项【设置标签页数据】动态设置标签页
不展示「更多」按钮开启后,当标签项较多时,支持滚动,但不展示「更多」按钮
额外内容-左侧开启后,左侧新增【左侧内容】插槽
额外内容-右侧开启后,右侧新增【右侧内容】插槽
标签页点击点击标签页时触发【标签页点击】输出项事件

标签

整个标签页组件的配置项。

属性名称说明
名称标签默认名称
显示icon是否显示图标(icon)
文字提示鼠标悬浮在标签上时显示的文字内容,可不填
前移将该标签向前移动一个位置
后移将该标签向后移动一个位置
删除删除该标签
事件:显示标签页的显示事件
事件:隐藏标签页的隐藏事件