当前位置:首页 > 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 实现文字播放栏(跑马灯效果) 方法一:使用 CSS 动画 + Vue 数据绑定 通过 CSS 的 @keyframes 实现动画效果,结合 Vue 的动态数据绑定控制内容。 <tem…

vue实现选中单元格

vue实现选中单元格

Vue 实现选中单元格的方法 基础实现思路 在 Vue 中实现选中单元格功能,通常可以通过动态绑定 class 或 style 来实现。以下是一个基于表格的简单实现示例: <templ…

vue tag实现

vue tag实现

Vue 标签实现方法 在 Vue 中实现标签功能可以通过多种方式完成,常见场景包括动态标签生成、标签输入框、标签管理等。以下是几种典型实现方案: 动态标签列表渲染 使用 v-for 指令渲染标签数组…

vue实现框架

vue实现框架

Vue 框架实现的核心方法 基础项目搭建 使用 Vue CLI 或 Vite 快速初始化项目。Vue CLI 适合传统项目,Vite 更适合现代轻量级应用。安装后通过命令行工具选择所需配置(如 Rou…

vue实现drag

vue实现drag

Vue 实现拖拽功能的方法 在 Vue 中实现拖拽功能可以通过原生 HTML5 的拖拽 API 或第三方库如 vuedraggable 来完成。以下是两种常见方法的实现方式。 使用 HTML5 拖拽…

vue实现建模

vue实现建模

Vue 实现建模的方法 在 Vue 中实现建模通常涉及数据绑定、组件化和状态管理。以下是几种常见的方法: 数据驱动建模 Vue 的核心是数据驱动视图。通过定义数据模型,Vue 会自动更新 DOM。例…