美文网首页
Vue 利用popover做成下拉框的功能同时可以进行增删操作

Vue 利用popover做成下拉框的功能同时可以进行增删操作

作者: 前端小猪仔 | 来源:发表于2021-01-06 15:05 被阅读0次

最近项目有个功能点是下拉框赋值同时具有添加和删除的功能。当时第一反应就是普通的下拉框满足不了这些,查阅了elementUI文档发现可以将popover组件改造一下。

首先我们来看下UI设计图

image.png

其中的下拉框列表数据通过循环接口数据


<el-popover

          placement="bottom"

          width="160"

          trigger="click"

          ref="mainpoolPopover"

          >

          <div class="pool-main">

            <ul class="pool-height">

              <li class="poolli" v-for="(item,index) in poolmainList" :key="index" @click="selectmainPool(item)">

                <img :src="getMiningPoolById(item.id).image" alt="">

                <div class="poolTitle">

                  <span>{{item.title}}</span>

                  <span v-if="item.isDefault == 0" @click="deletePool(item)"><i class="okkong icon-058"></i></span>

                </div>

              </li>

            </ul>

            <div class="poolAdd" @click="openPool(1)"><i class="el-icon-plus" style="margin-left:60px"></i> 添加</div>

          </div>

          <el-button class="poolButton" :class="normalButton" slot="reference" style="color:#000000;font-weight:400;padding-left: 11px;border-color: #D4D4D4;width:150px;height:36px;text-align: left;" type="info" plain :disabled="isDisable" @click="onShowMainpool">

            <span :class="mainpoolStyle">{{mainpool}}</span>

            <span v-if="showDownmainpool"><i class="el-icon-arrow-down pool-icon"></i></span>

            <span v-else><i class="el-icon-arrow-up pool-icon"></i></span>

          </el-button>

          </el-popover>

其中有个交互问题就是点击选中改造下拉框值时需要关闭popover,但是查阅popover文档显然没能找到关闭事件,这时我们想到的是手动去关闭它,我们通过ref取到popover元素可以发现好像含有打开和关闭的方法

image

接下来我们就可以直接拿来用了,效果就完成了,代码如下图


//选择主矿池下拉框赋值

    selectmainPool(item){

      this.showDownmainpool = !this.showDownmainpool//主矿池箭头图标转换

      this.$refs['mainpoolPopover'].doClose()//关闭主矿池popover

      this.mainpool = item.title

      this.mainPoolId = item.id

    },

最后效果就出来了

image

相关文章

  • Vue 利用popover做成下拉框的功能同时可以进行增删操作

    最近项目有个功能点是下拉框赋值同时具有添加和删除的功能。当时第一反应就是普通的下拉框满足不了这些,查阅了eleme...

  • Python利用pymysql连接MySQL

    大家现在都在利用pymysql这个包连接MySQL,然后对数据库进行操作,网上已经有很多描述如何进行增删改查的操作...

  • Vue关于局部刷新

    在Vue中,我们经常遇到对数据进行增删改查的操作之后, 希望页面显示的是我们操作之后最新的数据, 为了避免重新做a...

  • Vue的生命周期

    Vue一共有10个生命周期函数,我们可以利用这些函数在vue的每个阶段都进行操作数据或者改变内容。vue的生命周期...

  • Java之File类

    Java File类的功能非常强大,利用Java基本上可以对文件进行所有的操作。本文将对Java File文件操作...

  • 07-利用Vue指令做一个简单的学生信息管理系统

    需求: 利用Vue指令编写一个简单的学生管理系统。要求: 能够展示学生信息, 能够对学生信息进行增删改查 效果: 代码:

  • vue-router 为什么需要放到 new Vue({rout

    很多 vue 插件在利用 vue 提供的 use 方法安装后就不需要在进行多余的操作了,但是由 vue 官方提供的...

  • Vue 使用Element-ui table组件实现手风琴效果

    利用Element-UI提供的表格组件做成手风琴效果, 即同时只能有一个行展开 效果展示 版本说明 "vue": ...

  • 03 | python中 列表和元组的差异

    功能差异 列表是动态的,可拓展的。元组是静态的,不可拓展的。对元组的增删操作只能通过新建一个元组进行操作。 底层实...

  • sed用法

    基本用法: sed,以行为单位进行处理,可以直接将文件的内容进行增删改查等操作 格式:sed [选项] ...

网友评论

      本文标题:Vue 利用popover做成下拉框的功能同时可以进行增删操作

      本文链接:https://www.haomeiwen.com/subject/mhgnoktx.html