组件/ToastPanel 浮出面板

ToastPanel 浮出面板

从来源下方浮出新条目的面板

已验证自 0.6.0

用法

新条目浮出

虚线牵引把新条目连到它来自的列表;卡片内容完全由宿主提供。

示例加载中...

最佳实践

  • tetherLength 不要太长,否则看不出牵引线连着谁。
  • 同一次到达只播报一次:宿主已在别处播报时设 live="off"。
  • 卡片内容用现成的行组件(如 TxCardItem)拼,本组件只负责外层的浮出姿态。
  • 隐藏用 open 而不是 v-if:卸载会切断离场过渡,并让牵引线的盒子塌掉、布局上跳。
  • 锚在列表或面板下的最新结果用本组件;与位置无关的一次性提示用 TxToastHost。

API 参考

属性

属性名类型默认值说明
openbooleantrue是否显示;false 时仍留在 DOM 中。
tetherbooleantrue显示虚线牵引。
tetherLengthnumber28牵引线长度(px),负值按 0 处理。
side'below' | 'above''below'面板在来源下方还是上方;只影响牵引线方向。
stacknumber1身后露出的薄片数,夹在 0–2。
ariaLabelstring'Latest item'区域的无障碍名。
live'polite' | 'off''polite'宿主已在别处播报时设 'off',不再设置 aria-live。

插槽

插槽名说明
default卡片内容。
tether替换默认的虚线牵引。

概述

  • 位置由宿主决定:组件只画牵引线的方向,不定位自己;放在来源元素之后即可。
  • 根节点为 role="status",默认带 aria-live="polite",因为面板会在没有用户操作时出现。
  • open 为 false 时只切换类名:opacity 归零并回到位移起点。
  • 入场沿 --tx-ease-spring 回弹;减少动态效果时去掉位移,只保留淡入。
  • stack 薄片是 aria-hidden 的装饰,不承载内容;上限为 2,第三片露出的边不到一像素。

技术实现

  • 源码:packages/tuffex/packages/components/src/toast-panel/。
查看源码
packages/tuffex/packages/components/src/toast-panel/index.ts