用vue写一个聊天对话的代码
时间: 2024-12-11 16:42:40 浏览: 5
要在Vue中创建一个简单的聊天对话组件,我们可以使用v-model绑定用户输入、列表渲染历史消息以及事件监听发送按钮。这里是一个基本的示例:
首先,安装Vue和Element UI:
```bash
npm install vue element-ui
# 或者使用Yarn
yarn add vue element-ui
```
然后,在HTML中创建一个基本的聊天界面结构:
```html
<template>
<div class="chat-container">
<el-input v-model="messageInput" placeholder="请输入内容"></el-input>
<el-button type="primary" @click="sendMessage">发送</el-button>
<ul class="message-list">
<li v-for="(msg, index) in messages" :key="index">
<p>{{ msg.user }}: {{ msg.content }}</p>
</li>
</ul>
</div>
</template>
<script>
import { ref } from 'vue';
import { ElMessage } from 'element-plus';
export default {
name: 'Chat',
components: { ElMessage },
data() {
return {
messageInput: '',
messages: [
// 预设一些默认的历史消息
{ user: 'User A', content: '你好!' },
{ user: 'User B', content: '你好啊,最近怎么样?' },
],
};
},
methods: {
sendMessage() {
if (this.messageInput.trim()) {
this.messages.push({ user: 'You', content: this.messageInput });
this.messageInput = '';
}
},
},
};
</script>
<style scoped>
.chat-container {
display: flex;
flex-direction: column;
}
.message-list {
list-style-type: none;
}
</style>
```
在这个例子中,我们创建了一个包含输入框和发送按钮的容器,用户输入的内容会被实时显示并保存在`messages`数组中。每次点击发送按钮时,新消息会添加到列表并清空输入框。
阅读全文