Appearance
TypeWriter 流式打字机
class TypeWriter
用于模拟打字机效果的类,逐字符输出文本,支持文本追加、停止、完成回调和变化回调。
注意: TypeWriter 不是包具名导出,也不在包默认导出对象上,当前不能通过 import { TypeWriter } from '@mingto/tools' 使用。
参数
构造函数
typescript
const typewriter = new TypeWriter(speed)| 参数名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| speed | 打字速度,单位毫秒,每 speed 毫秒打印一个字符 | number | 100 |
返回值
| 返回值 | 说明 | 类型 |
|---|---|---|
| typewriter | 打字机实例 | TypeWriter |
方法
| 方法 | 说明 | 类型 |
|---|---|---|
append(text) | 向打字队列追加文本 | (text: string) => void |
stop() | 手动停止打字,重置状态 | () => void |
onEnd(callback) | 监听打字完成事件 | (callback: (text?: string) => void) => void |
onChange(callback) | 监听打字内容变化事件 | (callback: (text?: string) => void) => void |
示例
基础用法
typescript
const typewriter = new TypeWriter(100)
typewriter.onChange((text) => {
console.log('当前输入:', text)
})
typewriter.onEnd((text) => {
console.log('输入完成:', text)
})
typewriter.append('你好,世界!')追加文本
typescript
const typewriter = new TypeWriter(50)
typewriter.append('你好')
typewriter.append('世界')
// 输出:你好世界手动停止
typescript
const typewriter = new TypeWriter(80)
typewriter.append('这是一段较长的文本内容')
typewriter.stop()注意事项
- 通过
new关键字实例化。 stop()会清空当前队列并重置状态,同时触发onEnd回调。- 当前 TypeWriter 未通过
@mingto/tools包公共 API 导出,业务侧如需使用请在项目内维护等价实现或等待后续版本公开导出。