当前位置:首页 > VUE

vue实现人员选择

2026-03-09 19:13:29VUE

Vue 实现人员选择功能

基本思路

人员选择功能通常涉及展示可选人员列表、支持搜索筛选、多选或单选操作。Vue 的响应式特性和组件化开发非常适合实现这类交互功能。

核心实现步骤

组件结构设计

vue实现人员选择

<template>
  <div class="person-selector">
    <input v-model="searchQuery" placeholder="搜索人员"/>
    <ul>
      <li v-for="person in filteredPersons" :key="person.id">
        <input type="checkbox" v-model="selectedPersons" :value="person.id"/>
        {{ person.name }} - {{ person.department }}
      </li>
    </ul>
  </div>
</template>

数据与逻辑处理

export default {
  data() {
    return {
      persons: [], // 从接口获取的人员列表
      searchQuery: '',
      selectedPersons: [] // 多选时存储选中ID
    }
  },
  computed: {
    filteredPersons() {
      return this.persons.filter(person => 
        person.name.includes(this.searchQuery) || 
        person.department.includes(this.searchQuery)
      )
    }
  },
  methods: {
    async fetchPersons() {
      this.persons = await api.get('/api/persons')
    }
  },
  mounted() {
    this.fetchPersons()
  }
}

进阶优化方案

使用第三方组件库 Element UI 的 Select 组件可直接实现:

vue实现人员选择

<el-select 
  v-model="selectedPersons" 
  multiple
  filterable
  remote
  :remote-method="searchPersons"
  placeholder="请选择人员">
  <el-option
    v-for="item in personOptions"
    :key="item.value"
    :label="item.label"
    :value="item.value">
  </el-option>
</el-select>

性能优化技巧

  • 对搜索功能添加防抖处理
  • 虚拟滚动技术处理大量数据
  • 分页加载人员列表

完整示例参考

GitHub 上有多个开源实现可供参考:

  • vue-user-select 组件库
  • vue-multi-select 插件
  • 基于Vue+ElementUI的选人组件实现

实际开发时应根据具体需求选择实现方案,考虑是否需要部门树形选择、角色筛选等附加功能。

标签: 人员vue
分享给朋友:

相关文章

vue实现公式

vue实现公式

在Vue中实现公式展示或计算可以通过多种方式实现,以下为具体方法: 使用模板插值与计算属性 若公式较简单,可直接在模板中使用插值表达式或计算属性。例如计算圆的面积: <template>…

vue实现oauth

vue实现oauth

Vue 实现 OAuth 的步骤 安装必要的依赖 确保项目中安装了 axios 和 vue-router。OAuth 通常需要发送 HTTP 请求和处理路由跳转。 npm install axios…

vue轮询实现

vue轮询实现

Vue 轮询实现方法 在 Vue 中实现轮询可以通过以下几种方式: 使用 setInterval data() { return { pollInterval: null }…

vue实现fullpage

vue实现fullpage

Vue 实现 FullPage 效果 在 Vue 中实现全屏滚动(FullPage)效果可以通过多种方式完成,以下是几种常见的方法: 使用现有库 vue-fullpage.js 安装 vue-ful…

vue实现 单选

vue实现 单选

实现 Vue 单选功能 在 Vue 中实现单选功能可以通过多种方式完成,以下是几种常见的方法: 使用 v-model 绑定单选按钮 通过 v-model 可以轻松实现单选功能,将单选按钮的值绑定到同…

vue实现tree

vue实现tree

Vue 实现 Tree 组件 使用 Vue 实现 Tree 组件可以通过递归组件的方式来实现层级结构展示。以下是一个完整的实现方法: 基础递归组件实现 创建 Tree 组件文件 Tree.vue,使…