广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue实现下拉表格组件
  • 494
分享到

Vue实现下拉表格组件

2024-04-02 19:04:59 494人浏览 安东尼
摘要

本文实例为大家分享了Vue实现下拉表格组件的具体代码,供大家参考,具体内容如下 <template>   <div>     <div class="s

本文实例为大家分享了Vue实现下拉表格组件的具体代码,供大家参考,具体内容如下

<template>
  <div>
    <div class="select-table">
      <el-fORM ref="verification" label-width="80px" :model="selectData" :rules="rules">
        <el-form-item label="姓名" prop="userName">
          <el-input @change="changeTab" v-model="selectData.userName" placeholder="选择用户" :suffix-icon="showTree?'el-icon-arrow-up':'el-icon-arrow-down'" @click.native="deptogglePanel($event)"></el-input>
        </el-form-item>
      </el-form>
    </div>
    <div v-if="showTree" class="treeDiv" ref="tableList">
      <div style="display: flex;align-items: center;margin-bottom: 10px">
        <span style="font-size: 14px;color: #606266;margin: 0 10px">姓名</span>
        <el-input style="width: 200px" clearable v-model="formData.userName"  size="small" placeholder="请输入姓名"></el-input>
        <span style="font-size: 14px;color: #606266;margin: 0 10px">职务</span>
        <el-input style="width: 200px" clearable v-model="formData.position" size="small" placeholder="请输入职务"></el-input>
        <el-button style="margin-left: 10px" size="small" type="primary" plain @click="getTableData">查询</el-button>
      </div>
      <el-table @row-click="handleRegionnodeClick" :data="tableData" border stripe ref="tableView" size="small" height='200px' highlight-current-row :header-cell-style="{background:'#ECF5FF',color:'#606266',fontWeight:'bold'}">
        <el-table-column prop="userName" label="姓名" header-align="center" show-overflow-tooltip></el-table-column>
        <el-table-column prop="position" label="职位" align="center"></el-table-column>
        <el-table-column prop="orgName" label="标段" align="center"></el-table-column>
      </el-table>
      <el-pagination
          style="width: calc(100% - 10px); bottom: 10px;background: rgb(236, 245, 255);"
          @size-change="dolNandleSizeChange"
          @current-change="dolHandleCurrentChange"
          :current-page="formData.page"
          :page-sizes="[15, 30, 50, 100]"
          :page-size="formData.rows"
          layout="total, sizes, prev, pager, next, jumper"
          :total="total">
      </el-pagination>
    </div>
  </div>
</template>

js

export default {
  name: "selectTable",
  data() {
    return {

      total: 0,
      //表单验证
      rules: {
        userName: [{ required: true, message: "姓名不能为空", trigger: "blur" }]
      },
      tableData:[],
      formData:{
        userName:"",
        position:"",
        rows: 15,
        page: 1,
      },
      queryInfo:{},
      showTree: false,
      selectData:{
        userName:''
      }
    }
  },
  mounted() {
    this.getTableData()
  },
  methods: {
    // 获取查询数据
    getTableData() {
      this.$axiOS.get('/api/smartbs/userPower/selectPersonList',{params:this.formData}).then((res) => {
        if (res.data.success) {
          this.tableData = res.data.data.rows
          this.total = res.data.data.total
        }
      })
    },
    // 点击input 阻止冒泡 控制table显示隐藏
    deptogglePanel (event) {
      event || (event = window.event)
      event.stopPropagation ? event.stopPropagation() : (event.cancelBubble = true)
      this.showTree ? this.tableHide() : this.tableShow()
    },
    tableShow() {
      this.showTree = true
      document.addEventListener('click', this.tableHideList, false)
    },
    tableHide() {
      this.showTree = false
      document.addEventListener('click', this.tableHideList, false)
    },
    tableHideList(e) {
      if (this.$refs.tableList&& !this.$refs.tableList.contains(e.target)) {
        this.tableHide()
      }
    },
    // 点击table节点
    handleRegionNodeClick (data) {
      this.selectTableId = data.id
      this.showTree = false
      this.$refs.verification.resetFields();
      this.selectData.userName = data.userName // 用户名字
      this.$emit('getUserName',this.selectData.userName)
    },
    dolNandleSizeChange(val) {
      this.formData.rows = val;
      this.formData.page = 1;
      this.getTableData()
    },
    dolHandleCurrentChange(val) {
      this.formData.page = val;
      this.getTableData()
    },
    // 手动输入
    changeTab(val) {
      this.$emit('getUserName',val)
    },
    // 表单验证
    submitForm() {
      this.$refs.verification.validate((valid) => {
        if (valid) {
          return valid
        } else {
          return false;
        }
      });
    },
  }
}

CSS

<style scoped lang="less">
.select-table {
  position: relative;
}
.treeDiv{
  width: 100%;
  margin-left: 80px;
  position:absolute;
  top: 50px;
  z-index: 999;
  background-color: #FFFFFF;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  padding: 10px;
  .el-table{
    border: 1px solid #ccc;
    border-radius: 6px;
  }
  .el-table /deep/ td{
    padding: 4px 0;
  }
}
</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Vue实现下拉表格组件

本文链接: https://www.lsjlt.com/news/145640.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue实现下拉表格组件
    本文实例为大家分享了Vue实现下拉表格组件的具体代码,供大家参考,具体内容如下 <template>   <div>     <div class="s...
    99+
    2022-11-13
  • vue实现下拉框筛选表格数据
    本文实例为大家分享了vue实现下拉框筛选表格数据的具体代码,供大家参考,具体内容如下 html中: //下拉框          <el-form-item label="选择...
    99+
    2022-11-13
  • vue+elementui实现下拉表格多选和搜索功能
    本文实例为大家分享了vue+elementui实现下拉表格多选和搜索的具体代码,供大家参考,具体内容如下 在elementui的基础上对下拉框和表格进行组合 template ...
    99+
    2022-11-12
  • vue下拉列表怎么实现
    小编给大家分享一下vue下拉列表怎么实现,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!vue下拉列表的两种实现第一种采用v-for的方式  &...
    99+
    2023-06-15
  • Vue如何实现select下拉列表
    这篇“Vue如何实现select下拉列表”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue如何实现select下拉列表”文...
    99+
    2023-07-04
  • vue+elementui如何实现下拉表格多选和搜索功能
    这篇文章主要介绍“vue+elementui如何实现下拉表格多选和搜索功能”,在日常操作中,相信很多人在vue+elementui如何实现下拉表格多选和搜索功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”v...
    99+
    2023-06-21
  • element ui表格实现下拉筛选功能
    本文实例为大家分享了element ui表格实现下拉筛选的具体代码,供大家参考,具体内容如下 1、default-sort中prop传入要排序的字段(接口返回或自己定义的数据)、or...
    99+
    2022-11-12
  • Vue封装远程下拉框组件的实现示例
    之前封装了一个远程搜索的输入框,静态在Vue官网看到一个类似的远程搜索下拉框,今天也封装一个远程搜索下拉框,面对不同的需求 我们修改了官方提供的代码来封装了 父组件 RemoteS...
    99+
    2022-11-13
  • Vue动态组件表格的实现代码
    目录Vue组件数据源框架结构组件这里我自己封装了几个组件按钮组件图片组件滑动开关tap组件text组件Vue组件 数据源 //这里是HTML内容 这里通过下面的引入框架结构把数据源传...
    99+
    2022-11-13
    Vue动态组件 表格 Vue动态组件 Vue 表格
  • Vue组件库ElementUI实现表格列表分页效果
    ElementUI实现表格列表分页效果教程,供大家参考,具体内容如下 Element UI 是一套采用 Vue 2.0 作为基础框架实现的组件库,一套为开发者、设计师和产品经理准备的...
    99+
    2022-11-12
  • Vue基于Element-ui实现表格弹窗组件
    本文实例为大家分享了Vue基于Element-ui实现表格弹窗组件的具体代码,供大家参考,具体内容如下 效果图 使用方式 acTable1 () {   this.$modalTa...
    99+
    2022-11-13
  • xmlplus组件如何实现下拉刷新
    这篇文章将为大家详细讲解有关xmlplus组件如何实现下拉刷新,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。如何实现一个简单的下拉刷新组件。目标组件分析和前面在设计组件时...
    99+
    2022-10-19
  • element ui表格如何实现下拉筛选功能
    这篇文章主要讲解了“element ui表格如何实现下拉筛选功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“element ui表格如何实现下拉筛选功能”吧!default-sort中pr...
    99+
    2023-06-25
  • Android UI组件Spinner下拉列表详解
    Spinner下拉列表 该布局对应的关系图: 常用属性:android:entries(指定spinner要显示的字符串资源。必须是在strings资源文件中定义的字符串资...
    99+
    2022-06-06
    列表 spinner Android
  • 基于vue封装下拉刷新上拉加载组件
    基于vue和原生javascript封装的下拉刷新上拉加载组件,供大家参考,具体内容如下 upTilte插槽是下拉刷新的自定义内容放的地方 downTilte插槽是...
    99+
    2022-11-12
  • AndroidFlutter实现自定义下拉刷新组件
    目录前言改造点DIY下拉组件样式刷新时机调整效果展示前言 在Flutter开发中官方提供了多平台的下拉刷新组件供开发者使用,例如RefreshIndicator和CupertinoS...
    99+
    2022-11-13
  • flutter实现下拉菜单组件——基于PopupMenuButton
    问题背景 客户端日常开发和学习过程,下拉菜单是一个很常见的组件,本文主要介绍flutter中实现下拉菜单组件的一个方案,基于PopupMenuButton来进行实现。 问题分析 PopupMenuButton PopupM...
    99+
    2023-10-22
    flutter android ios
  • vue中怎么实现省市区三联动下拉选择组件
    这篇文章给大家分享的是有关vue中怎么实现省市区三联动下拉选择组件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。首先来看一下最终的效果(没有写太多的样式...)组件所需要的省市区...
    99+
    2022-10-19
  • Vue下拉菜单组件化开发详解
    本文实例为大家分享了Vue下拉菜单组件化开发的具体代码,供大家参考,具体内容如下 搞一个自定义组件,只是一个很简单的下拉菜单,也就是一个思路,整起 第一步:在项目中专门创建一个放置自...
    99+
    2022-11-12
  • vue下拉列表的两种实现方式比较
    vue下拉列表的两种实现 第一种采用v-for的方式 <el-select v-model="form.columeType" placeholder="字段...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作