SuperAPI AI 工具集

syncfusion-javascript-timeline

前端与建站

查看项目

更新于 10-16 02:09

技能介绍

用途

Syncfusion TypeScript Timeline 控件用于按时间顺序或序列布局展示内容项。该技能适用于以下场景:按时间顺序或序列展示项目;可视化时间线、里程碑或事件进展;展示工作流步骤或流程;创建状态跟踪显示(如订单跟踪、项目里程碑、职业路径);以 Before、After、Alternate 或 Reverse 对齐方式排列内容;通过圆点、连接线和样式定制时间线外观;处理生命周期和渲染回调等时间线事件;使用水平或垂直方向布局时间线。

主要能力

  • 多种对齐方式:Before、After、Alternate、AlternateReverse
  • 方向:水平(Horizontal)和垂直(Vertical)布局
  • 丰富内容:字符串内容、模板内容或对侧内容(oppositeContent)
  • 定制:圆点样式、连接线定制、CSS 类
  • 事件:Created、beforeItemRender 生命周期事件
  • 反向模式:以反向顺序显示项目
  • 高级模板:完全控制项目外观

核心概念

关键属性

  • items:定义时间线项目的 TimelineItemModel 对象数组
  • orientation:显示方向,Vertical(默认)或 Horizontal
  • align:内容对齐方式,Before、After、Alternate、AlternateReverse
  • reverse:布尔值,以反向顺序显示项目
  • template:用于自定义项目渲染的 HTML 模板选择器
  • cssClass:用于时间线容器样式的自定义 CSS 类
  • created:时间线渲染完成时触发的事件
  • beforeItemRender:每个项目渲染前触发的事件

TimelineItemModel 属性

  • content:主内容(字符串或模板选择器)
  • oppositeContent:对侧内容(字符串或模板选择器)
  • dotCss:用于圆点定制的 CSS 类
  • cssClass:用于单个项目样式的 CSS 类
  • disabled:布尔值,禁用特定项目

使用方式

基本时间线创建

import { Timeline } from '@syncfusion/ej2-layouts';

// 创建时间线项目
let timeline: Timeline = new Timeline({
  items: [{}, {}, {}, {}]
});

// 渲染到 DOM 元素
timeline.appendTo("#timeline");

带内容的时间线

import { Timeline, TimelineItemModel } from '@syncfusion/ej2-layouts';

const items: TimelineItemModel[] = [
  { content: 'Item 1' },
  { content: 'Item 2' },
  { content: 'Item 3' }
];

let timeline: Timeline = new Timeline({
  items: items,
  orientation: 'Vertical'
});

timeline.appendTo("#timeline");

状态跟踪时间线

const status = [
  { content: 'Ordered', cssClass: 'state-completed' },
  { content: 'Shipped', cssClass: 'state-progress' },
  { content: 'Delivered' }
];

let timeline: Timeline = new Timeline({
  items: status,
  cssClass: 'status-timeline'
});

双内容时间线

const events = [
  { content: 'Day 1, 4:00 PM', oppositeContent: 'Check-in' },
  { content: 'Day 1, 7:00 PM', oppositeContent: 'Dinner' }
];

let timeline: Timeline = new Timeline({
  items: events,
  align: 'Alternate',
  orientation: 'Vertical'
});

水平里程碑时间线

let timeline: Timeline = new Timeline({
  items: milestones,
  orientation: 'Horizontal',
  align: 'Before'
});

设置要求

依赖:

@syncfusion/ej2-layouts
  └── @syncfusion/ej2-base

CSS 导入:

@import "@syncfusion/ej2-base/styles/fluent2.css";
@import "@syncfusion/ej2-layouts/styles/fluent2.css";

HTML 元素:

<div id="timeline"></div>

文档导航

  • 入门与设置:包安装与依赖、开发环境设置、CSS 样式导入与主题、基本时间线创建与初始化、首个可运行示例
  • 项目、内容与对侧内容:添加字符串内容、使用模板选择器、配置 oppositeContent、禁用特定项目、自定义 CSS 类、使用 dotCss 定制圆点
  • 对齐与方向模式:Before、After、Alternate、AlternateReverse 对齐、垂直与水平方向、布局组合与用例
  • 定制与样式:通用连接线样式、单个连接线样式、圆点颜色定制、通过 CSS 变量调整圆点大小、圆点边框与轮廓样式、CSS 选择器模式、高级样式技术
  • 模板与自定义渲染:template 属性与选择器、模板上下文(item、itemIndex)、高级 HTML 模板、模板内圆点定制、进度线样式、模板最佳实践
  • 事件与生命周期钩子:Created 事件、beforeItemRender 事件、TimelineRenderingEventArgs、事件回调模式
  • 反向布局模式:reverse 属性、反向显示用例、反向与不同对齐组合、反向与方向组合
  • 完整 API 参考:全部 9 个 Timeline 属性及类型和默认值、全部 7 个 Timeline 方法、事件与参数、全部 5 个 TimelineItemModel 属性、TimelineAlign 和 TimelineOrientation 枚举值、快速设置示例

适用场景

  • 按时间顺序或序列展示项目
  • 可视化时间线、里程碑或事件进展
  • 展示工作流步骤或流程
  • 创建状态跟踪显示(订单跟踪、项目里程碑、职业路径)
  • 以 Before、After、Alternate 或 Reverse 对齐方式排列内容
  • 通过圆点、连接线和样式定制时间线外观
  • 处理生命周期和渲染回调等时间线事件
  • 使用水平或垂直方向布局时间线

限制

资料中未提供关于收费、价格、平台兼容性、性能效果或具体使用步骤的额外信息。