mcpField
S
syncfusion-javascript-notifications

syncfusion-javascript-notifications

github.com/syncfusion开发039 次安装5 天前更新
代码仓库

关于 syncfusion-javascript-notifications

此技能为构建用户反馈界面的开发者提供 Syncfusion EJ2 JavaScript 通知组件文档,涵盖 Message、Skeleton 和 Toast。内容包括使用示例、API 指引、主题及无障碍实践。

主要功能

  1. 01Message 严重级别和显示样式
  2. 02Skeleton 形状与闪烁效果
  3. 03Toast 时长、位置与操作按钮
  4. 04TypeScript 和 JavaScript API 指引
  5. 05无障碍支持与键盘交互

适用场景

  1. 01显示上下文成功或错误消息
  2. 02用占位形状表示内容加载状态
  3. 03显示可关闭或持续的通知

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/syncfusion/javascript-ui-controls-skills --skill syncfusion-javascript-notifications

安装后在 Claude Code 中输入/syncfusion-javascript-notifications确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
message-accessibility.md
message-api.md
message-customization.md
message-getting-started.md
message-icons-and-close.md
message-severities.md
message-variants.md
skeleton-accessibility.md
skeleton-api.md
skeleton-getting-started.md
skeleton-shapes.md
skeleton-shimmer-effect.md
skeleton-styles.md
toast-accessibility.md
toast-animation.md
toast-api.md
toast-configuration.md
toast-getting-started.md
toast-position.md
toast-services.md
toast-templates-and-styling.md
toast-timeout-and-dismissal.md

详细介绍

Syncfusion EJ2 JavaScript Notifications

概述

Syncfusion EJ2 JavaScript Notifications 库提供了三个核心 UI 组件,用于构建交互式用户反馈系统。每个组件都附有完整文档,包含 TypeScript/JavaScript 示例、无障碍指南和常见用法。

所有组件均支持:

  • 无障碍性: 符合 WCAG 2.2 AA 级、Section 508 和 ADA 标准
  • 主题: Material 3、Bootstrap 5、Fluent、Tailwind 3、Fabric
  • API: 支持完整事件处理的命令式 TypeScript/JavaScript API
  • 键盘: 完整的键盘导航和交互

组件概览

快速导航
组件用途包文件数
Message带有严重程度指示的上下文消息ej2-notifications7
Skeleton动画加载占位符ej2-notifications6
Toast简短的自动消失通知ej2-notifications9

包: @syncfusion/ej2-notifications


Message 组件

用途: 显示带有视觉严重程度指示(图标和颜色)的上下文消息,向最终用户传达重要性和上下文。支持五种严重程度、三种视觉变体、通过关闭图标关闭、自定义模板以及全面的无障碍支持。

包: @syncfusion/ej2-notifications

快速示例
import { Message } from '@syncfusion/ej2-notifications';

let msg: Message = new Message({
  content: 'Please read the comments carefully',
  severity: 'Info'
});
msg.appendTo('#msg');
文档

Skeleton 组件

用途: 渲染动画占位图形,模拟加载中内容的布局。通过可配置的形状、闪光动画和全面的无障碍支持,降低用户感知到的加载时间,并向用户传达进度。

包: @syncfusion/ej2-notifications

快速示例
import { Skeleton } from '@syncfusion/ej2-notifications';

let skeleton: Skeleton = new Skeleton({
  shape: 'Circle',
  width: '48px'
});
skeleton.appendTo('#skeleton');
文档

Toast 组件

用途: 显示简短、不打扰用户的通知,并在可配置的超时时间后自动消失。支持通过模板呈现丰富内容、操作按钮、进入/退出动画、精准定位,以及通过 ToastUtility 进行程序化控制。

包: @syncfusion/ej2-notifications

快速示例
import { Toast } from '@syncfusion/ej2-notifications';

let toastObj: Toast = new Toast({
  title: 'Success!',
  content: 'Your changes have been saved.',
  position: { X: 'Right', Y: 'Bottom' },
  timeOut: 4000,
  showCloseButton: true
});
toastObj.appendTo('#toast');
toastObj.show();
快速 Utility Toast(无需组件)
import { ToastUtility } from '@syncfusion/ej2-notifications';

// Show a success toast instantly
ToastUtility.show('File saved successfully', 'Success', 3000);

// Show an error toast
ToastUtility.show('Connection failed', 'Error', 5000);
文档

安装和设置

安装软件包
npm install @syncfusion/[email protected] --save
npm audit
添加 CSS 主题导入
/* src/styles.css */
@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
@import '../node_modules/@syncfusion/ej2-notifications/styles/tailwind3.css';

其他可用主题:material.css、bootstrap5.css、fluent.css、fabric.css


常见模式

语义类型消息

使用 severity 属性搭配 Normal、Success、Info、Warning 或 Error,以区分视觉效果。

let msg: Message = new Message({
  content: 'Operation completed',
  severity: 'Success',
  variant: 'Outlined'
});
msg.appendTo('#msg');
可关闭消息

设置 showCloseIcon: true 和 showCloseButton: true(适用于 Toast),允许用户手动关闭通知。

let toastObj: Toast = new Toast({
  content: 'Your session will expire soon',
  showCloseButton: true,
  timeOut: 0
});
toastObj.appendTo('#toast');
toastObj.show();
使用 Skeleton 表示加载状态

在内容加载期间显示骨架占位符,内容就绪后将其隐藏。

let skeleton: Skeleton = new Skeleton({
  shape: 'Rectangle',
  width: '100%',
  height: '200px',
  shimmerEffect: 'Pulse'
});
skeleton.appendTo('#skeleton');
静态/持久 Toast

设置 timeOut: 0 和 showCloseButton: true,用于需要用户明确关闭的通知。

let toastObj: Toast = new Toast({
  content: 'Please review and confirm',
  timeOut: 0,
  showCloseButton: true
});
toastObj.appendTo('#toast');
toastObj.show();
需要执行操作的 Toast

使用 buttons 属性添加忽略/确认/撤销按钮。

let toastObj: Toast = new Toast({
  content: 'Delete this file?',
  buttons: [{
    model: { content: 'Yes' },
    click: () => { /* handle yes */ }
  }, {
    model: { content: 'No' },
    click: () => toastObj.hide()
  }]
});
toastObj.appendTo('#toast');
toastObj.show();
多个 Toast 位置

在屏幕的不同位置显示不同的 Toast 实例。

let topToast: Toast = new Toast({
  content: 'Top notification',
  position: { X: 'Center', Y: 'Top' }
});
topToast.appendTo('#top-toast');
topToast.show();

主题支持

所有通知组件都支持以下主题:

主题CSS 文件
Material 3material.css
Bootstrap 5bootstrap5.css
Fluentfluent.css
Tailwind 3tailwind3.css
Fabricfabric.css

不同主题的导入示例:

/* Material 3 */
@import '../node_modules/@syncfusion/ej2-base/styles/material.css';
@import '../node_modules/@syncfusion/ej2-notifications/styles/material.css';

/* Bootstrap 5 */
@import '../node_modules/@syncfusion/ej2-base/styles/bootstrap5.css';
@import '../node_modules/@syncfusion/ej2-notifications/styles/bootstrap5.css';

无障碍访问

所有通知组件均符合 WCAG 2.2 AA 级、Section 508 和 ADA 标准。

消息无障碍访问
  • WAI-ARIA 属性(role=alert、aria-label)
  • 键盘导航(Tab、Enter/Space)
  • 屏幕阅读器支持
Skeleton 无障碍访问
  • WAI-ARIA 属性:role="status"、aria-label、aria-live、aria-busy
  • 用于设置无障碍骨架名称的 label 属性
  • 遵循 prefers-reduced-motion 设置
Toast 无障碍访问
  • WAI-ARIA:role="alert"、aria-live="assertive"、aria-label
  • 屏幕阅读器支持(JAWS、NVDA、VoiceOver)
  • 通过 enableRtl 支持 RTL
  • 移动端和无障碍检查器验证

浏览器支持

  • Chrome(最新版本)
  • Firefox(最新版本)
  • Safari(最新版本)
  • Edge(最新版本)
  • Internet Explorer 11(需使用 polyfills)

版本兼容性

Syncfusion EJ2 版本状态
33.x.x当前版本(推荐)
32.x.x支持
31.x.x支持
< 30.x.x旧版

其他资源


快速参考

需求组件属性
显示成功消息Messageseverity: 'Success'
显示带关闭按钮的警告Messageseverity: 'Warning', showCloseIcon: true
加载占位符Skeletonshape: 'Rectangle'
头像占位符Skeletonshape: 'Circle', width: '48px'
快速通知ToastToastUtility.show()
持久通知ToasttimeOut: 0, showCloseButton: true
操作确认Toastbuttons: [...]
右下角 ToastToastposition: { X: 'Right', Y: 'Bottom' }

状态: ✅ 可用于生产环境
质量评级: 9+/10(专业级)
覆盖范围: 3 个组件,22 个参考文件

评论

支持 Markdown