更新记录
                                                                                                    
                                                    
                                                        1.0.0(2025-01-14)
                                                                                                                    
                                                                下载此版本
                                                            
                                                        
                                                    
                                                    模仿 AI 聊天时的打字效果,全平台支持,无任何依赖,不预设任何样式,完全由用户自定义模板和样式,简洁、灵活、高效。
                                                                                                                                                
                                            
                                                                                                                                                        平台兼容性
                                                                                                                                                                                                                                                                                                                                uni-app
                                                                                                                                                                                                                                    
| Vue2 | 
Vue3 | 
Chrome | 
Safari | 
app-vue | 
app-nvue | 
Android | 
iOS | 
鸿蒙 | 
| √ | 
√ | 
√ | 
√ | 
√ | 
√ | 
- | 
- | 
- | 
                                                                                                                                                            
| 微信小程序 | 
支付宝小程序 | 
抖音小程序 | 
百度小程序 | 
快手小程序 | 
京东小程序 | 
鸿蒙元服务 | 
QQ小程序 | 
飞书小程序 | 
快应用-华为 | 
快应用-联盟 | 
| √ | 
√ | 
√ | 
√ | 
√ | 
√ | 
- | 
√ | 
√ | 
√ | 
√ | 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                其他
                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
                                            bp-typer
模仿 AI 聊天时的打字效果,全平台支持,无任何依赖,不预设任何样式,完全由用户自定义模板和样式,简洁、灵活、高效。
示例
<template>
    <view class="content">
        <bp-typer
            ref="typerRef"
            :text="greeting"
            auto-start
            :interval="100"
            @on-changed="handleChanged"
            @on-completed="handleCompleted"
            v-slot="{ text }"
        >
           <view class="chat">
                {{ text }}
           </view>
        </bp-typer>
        <view class="actions">
            <button type="default" @click="$refs.typerRef.start()">开始</button>
            <button type="default" @click="$refs.typerRef.restart()">重新开始</button>
            <button type="default" @click="$refs.typerRef.stop()">停止</button>
            <button type="default" @click="$refs.typerRef.pause()">暂停</button>
            <button type="default" @click="$refs.typerRef.resume()">恢复</button>
            <button type="default" @click="handleChangeText">改变文案</button>
        </view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
                greeting: '您好!很高兴第一次与您交流。我是您的AI助理,有什么我可以帮到您的吗?请随时告诉我您的需求。',
            }
        },
        methods: {
            handleChangeText() {
                this.greeting = '如果没有其他问题,我就先不打扰您了,感谢您的时间。祝您今天愉快!再见。'
            },
            handleCompleted() {
                console.log('handleCompleted')
            },
            handleChanged(index) {
                console.log('handleChanged', index)
            },
        }
    }
</script>
<style scoped>
    .content {
        box-sizing: border-box;
        width: 100vw;
        height: 100vh;
        padding: 30rpx;
        background-color: #F3F4F5;
    }
    .chat {
        padding: 30rpx;
        background-color: #ffffff;
        border: 1rpx solid #99999999;
        border-radius: 12rpx;
        color: #171A1D;
    }
    .actions {
        margin-top: 40rpx;
    }
</style>
API
属性
| 属性名称 | 
说明 | 
类型 | 
默认值 | 
| text | 
需要显示的文字内容,可以传入动态值。当值发生变化时,会自动重新显示文字内容 | 
string | 
'' | 
| interval | 
文字字符显示时间间隔 | 
number | 
200 | 
| auto-start | 
是否自动开始显示字符 | 
boolean | 
false | 
事件
| 事件名称 | 
说明 | 
类型 | 
| on-changed | 
每次显示字符时的回调,参数 index 为字符对应的索引 | 
(index: number) => void | 
| on-completed | 
所有字符都显示完后的回调 | 
() => void | 
插槽
| 插槽名称 | 
说明 | 
| default | 
自定义默认内容,版本为 Vue3 时,该组件不渲染任何内容,完全由用户自定义模板和样式;版本为 Vue2 时,该组件会在文字外包裹一层 <view> 标签 | 
暴露
| 方法名称 | 
说明 | 
类型 | 
| start | 
开始显示字符 | 
() => void | 
| restart | 
重新显示字符 | 
() => void | 
| stop | 
停止显示字符 | 
() => void | 
| pause | 
暂停显示字符 | 
() => void | 
| resume | 
恢复显示字符 | 
() => void |