当前位置:首页 > VUE

vue实现好友列表

2026-01-07 01:49:22VUE

实现好友列表的Vue组件

数据准备 在Vue组件的data中定义好友列表数据,通常是一个数组对象,每个对象包含好友的基本信息如ID、头像、昵称等。

data() {
  return {
    friends: [
      { id: 1, name: '张三', avatar: '/avatars/1.jpg', status: 'online' },
      { id: 2, name: '李四', avatar: '/avatars/2.jpg', status: 'offline' },
      { id: 3, name: '王五', avatar: '/avatars/3.jpg', status: 'online' }
    ]
  }
}

模板结构 使用v-for指令循环渲染好友列表,结合条件渲染显示不同状态的好友。

<template>
  <div class="friend-list">
    <div v-for="friend in friends" :key="friend.id" class="friend-item">
      <img :src="friend.avatar" class="avatar">
      <span class="name">{{ friend.name }}</span>
      <span class="status" :class="friend.status">{{ friend.status }}</span>
    </div>
  </div>
</template>

样式设计 为好友列表添加CSS样式,增强视觉效果。

.friend-list {
  width: 300px;
  border: 1px solid #eee;
  border-radius: 4px;
}

.friend-item {
  display: flex;
  align-items: center;
  padding: 10px;
  border-bottom: 1px solid #eee;
}

.avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin-right: 10px;
}

.status {
  margin-left: auto;
  font-size: 12px;
  color: #999;
}

.status.online {
  color: #67C23A;
}

.status.offline {
  color: #909399;
}

交互功能 添加点击事件处理,实现好友选择功能。

methods: {
  selectFriend(friend) {
    this.$emit('friend-selected', friend)
  }
}

在模板中绑定点击事件:

<div v-for="friend in friends" 
     :key="friend.id" 
     class="friend-item"
     @click="selectFriend(friend)">

数据加载 实际项目中通常需要从API获取好友数据。

created() {
  this.fetchFriends()
},
methods: {
  async fetchFriends() {
    try {
      const response = await axios.get('/api/friends')
      this.friends = response.data
    } catch (error) {
      console.error('获取好友列表失败', error)
    }
  }
}

状态管理 对于大型应用,建议使用Vuex管理好友状态。

vue实现好友列表

computed: {
  friends() {
    return this.$store.state.friends.list
  }
}

标签: 好友列表vue
分享给朋友:

相关文章

vue如何实现到期提醒

vue如何实现到期提醒

实现 Vue 到期提醒功能 使用计算属性计算剩余时间 在 Vue 组件中定义一个计算属性,计算目标日期与当前日期的差值。通过 Date 对象获取时间戳并计算剩余天数或小时数。 computed: {…

vue实现新闻

vue实现新闻

Vue 实现新闻功能 使用 Vue 实现新闻功能通常涉及新闻列表展示、新闻详情页、分类筛选等模块。以下是实现的基本思路和代码示例。 新闻列表展示 通过 Vue 组件展示新闻列表,通常使用 v-for…

vue实现erp

vue实现erp

Vue实现ERP系统的关键步骤 技术选型与架构设计 采用Vue 3 + TypeScript构建前端,搭配Pinia状态管理,Element Plus或Ant Design Vue作为UI框架。后端可…

vue 实现排序

vue 实现排序

Vue 实现排序的方法 使用计算属性实现排序 通过计算属性对数组进行排序,可以保持原始数据不变。示例代码展示了如何对列表按名称升序排序: <template> <div>…

vue实现换页

vue实现换页

Vue实现页面切换的方法 在Vue中实现页面切换通常可以通过Vue Router来完成。Vue Router是Vue.js官方的路由管理器,用于构建单页面应用(SPA)。以下是几种常见的实现方式:…

自己实现vue

自己实现vue

实现简易版 Vue.js 核心功能 要实现一个简易版 Vue.js,需要理解其核心功能:数据响应式、模板编译、依赖收集和虚拟 DOM。以下分模块实现关键功能。 数据响应式(Reactivity) 通…