本技能是关于在 Vue 3 中使用 Syncfusion 通知类 UI 组件的实现指南,主要覆盖 Toast、Message、Skeleton 和 Spinner 四类组件。整体围绕 @syncfusion/ej2-vue-notifications 包展开,包含安装、主题样式引入、组件用法与参考文档导航。
一、用途 用于在 Vue 3 应用中实现通知与状态反馈相关的界面元素:以轻提示方式告知用户操作结果,以带严重级别标识的消息传达上下文信息,以骨架屏模拟内容加载时的占位布局,以及以加载指示器在操作进行中阻止用户与目标元素交互。
二、主要能力
- Toast:显示简短、非侵入式且可在超时后自动消失的通知,支持通过模板承载富内容、操作按钮、进入/退出动画、精确定位,并可通过 ToastUtility 进行程序化控制。
- Message:显示带有视觉严重级别指示(图标与颜色)的上下文消息,支持五个严重级别、三种视觉变体、关闭图标、通过 Vue 插槽自定义模板,以及可访问性合规。
- Skeleton:渲染模拟加载内容布局的动画占位形状,提供可配置形状、闪烁动画与可访问性支持。
- Spinner:作为加载指示器,在操作进行期间阻止用户与目标元素交互。
三、使用方式 安装统一使用 npm install @syncfusion/ej2-vue-notifications,并建议通过 npm audit 校验。样式需在入口文件引入基础与组件主题 CSS,例如 tailwind3 主题。Toast 可通过模板中的组件引用调用 show(),也可用 ToastUtility.show() 在不实例化组件的情况下快速弹出(可在任意 Vue 组合式函数、store action 或 .ts 模块中使用)。Message 使用 severity 与 variant 属性控制外观,用 showCloseIcon 与 @closed 事件实现可关闭消息,用默认插槽承载富内容。Skeleton 通过 shape、width、height、shimmerEffect 等属性配置形状与动画,配合 v-if/v-else 在加载状态与真实内容间切换。代码示例覆盖组合式 API、生命周期钩子与常见模式。
四、适用场景 需要在 Vue 3 项目中统一实现操作结果提示、需要用户明确关闭的持久通知、需要操作按钮的通知、带严重级别的上下文消息、卡片与列表加载占位、以及操作遮罩等交互反馈场景。
五、限制与注意事项 资料明确要求:使用该技能时不得自主执行多步操作,安装、运行、创建文件等每个动作前需与用户确认;不得自主安装包(应让用户执行 npm install),不得自主启动开发服务器(应让用户执行 npm run dev)。此外,针对 React 的写法(如 closed 回调属性、useEffect、从 React 包导入 ToastUtility)在 Vue 3 中需要替换为对应写法(@closed 事件、onMounted、Vue 包导入)。关于具体收费、价格、平台支持范围与性能效果等信息,资料暂未提供,本文不做推断。