打造专业级ChatGPT风格聊天界面:SpringBoot与Vue实现动态打字机效果,附完整前后端源码
以下是一个简化的实现动态打字机效果的前端代码实例:
<template>
<div id="app">
<div class="chat-container">
<div class="chat-message" v-for="(message, index) in messages" :key="index">
<span class="chat-message-content">{{ message }}</span>
</div>
</div>
<input v-model="userInput" @input="type" type="text" placeholder="请输入您的消息" />
</div>
</template>
<script>
export default {
name: 'App',
data() {
return {
messages: [],
userInput: '',
typingSpeed: 100, // 打字速度,单位毫秒
};
},
methods: {
type() {
if (this.userInput.length === 0) {
return;
}
const message = this.userInput.substring(0, this.messages.length + 1);
this.messages.push(message);
setTimeout(() => {
this.userInput = '';
}, this.typingSpeed);
},
},
};
</script>
<style>
.chat-container {
height: 400px;
overflow-y: scroll;
}
.chat-message {
padding: 10px;
border-bottom: 1px solid #ccc;
}
.chat-message-content {
white-space: pre-wrap;
}
input {
width: 100%;
padding: 10px;
margin-top: 5px;
}
</style>
这段代码实现了一个简单的动态打字机效果,用户在输入框中输入的每个字符都会逐个显示在聊天界面中,模拟人工智能输入的情景。通过Vue的数据绑定和计算属性,实现了前端的动态更新。这个例子可以作为构建类似ChatGPT聊天界面时的参考。
评论已关闭