使用 vant 给我写一个聊天的带发送消息的页面
时间: 2024-06-08 19:10:56 浏览: 161
好的,以下是一个简单的聊天页面示例,使用了 vant 中的组件来实现:
```vue
<template>
<div class="chat-container">
<div class="chat-messages">
<van-chat v-model="messages" />
</div>
<div class="chat-input">
<van-field
v-model="inputText"
placeholder="请输入消息"
autosize
type="textarea"
:rows="1"
:show-word-limit="false"
/>
<van-button size="small" type="primary" @click="sendMessage">发送</van-button>
</div>
</div>
</template>
<script>
export default {
data() {
return {
messages: [],
inputText: ''
}
},
methods: {
sendMessage() {
if (this.inputText.trim() === '') {
return
}
const message = { type: 'text', content: this.inputText }
this.messages.push(message)
this.inputText = ''
}
}
}
</script>
<style>
.chat-container {
display: flex;
flex-direction: column;
height: 100vh;
}
.chat-messages {
flex: 1;
overflow-y: scroll;
}
.chat-input {
display: flex;
align-items: center;
padding: 10px;
}
</style>
```
在这个示例中,我们使用了 vant 中的 `van-chat` 组件来展示聊天记录,使用了 `van-field` 和 `van-button` 组件来实现发送消息的输入框和按钮。当用户点击发送按钮时,我们将用户输入的消息添加到 `messages` 数组中,并清空输入框。
需要注意的是,这个示例只展示了如何实现发送消息的功能,如果需要实现接收消息的功能,需要使用 WebSocket 或 Long Polling 等技术。
阅读全文