当前位置:首页 > 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样式,增强视觉效果。

vue实现好友列表

.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)
  }
}

在模板中绑定点击事件:

vue实现好友列表

<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管理好友状态。

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

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

相关文章

vue实现画圆弧并着色

vue实现画圆弧并着色

在 Vue 中实现画圆弧并着色 使用 Canvas API 绘制圆弧 在 Vue 组件的 mounted 钩子中,通过 Canvas API 绘制圆弧。创建一个 canvas 元素并获取其上下文:…

vue实现文章锚点定位

vue实现文章锚点定位

实现文章锚点定位的方法 在Vue中实现文章锚点定位可以通过多种方式完成,以下是几种常见的方法: 使用原生HTML锚点 通过HTML的id属性和<a>标签的href属性实现锚点跳转。在V…

vue实现图库

vue实现图库

Vue 实现图库的基本方法 使用 Vue 实现图库功能可以通过多种方式完成,以下是一些常见的方法和实现步骤。 使用 Vue 和第三方库(如 Vue Gallery) 安装 vue-gallery 或…

jq 实现 vue

jq 实现 vue

jq 实现 Vue 的核心功能 jq 是一个轻量级的 JavaScript 库,主要用于 DOM 操作和事件处理。虽然它不能完全替代 Vue,但可以通过一些技巧模拟 Vue 的核心功能,如数据绑定、事…

vue实现过滤

vue实现过滤

Vue实现过滤的方法 在Vue中实现数据过滤可以通过多种方式完成,以下是几种常见的方法: 使用计算属性过滤 计算属性是Vue中处理数据过滤的理想选择,它们基于响应式依赖进行缓存,只有在相关依赖发生改…

vue实现setinterval

vue实现setinterval

在 Vue 中使用 setInterval Vue 中可以通过生命周期钩子和方法结合 setInterval 实现定时任务。以下是一个完整的实现示例: <template> <…