element-ui下拉菜单组件Dropdown的示例代码

项目中使用了element ui的页面组件。

在使用dropdown组件的时候,发现了我自己的一些问题,这里记录一下,文末有整理好的我自己用的一个demo。可下载。

基础的使用方法可以参照官方文档:

element.eleme.io/#/zh-CN/com…

这里边给出的解释还是很全的,只是,刚刚接触的同学(比如我),有些地方注意不到,有些坑还得踩一踩。

首先上代码:

先是html部分:

<div id='app' style="margin:50px;">
        <!-- 鼠标滑过显示下拉列表 这里设置了触发的方式,注意触发方式不能使用':'绑定,以及绑定了触发选项时的方法 -->
        <el-dropdown trigger="hover" @command="handleCommand"  >
            <span class="el-dropdown-link el-input__inner"  style="display:block;width:200px;">
                <!-- 没有选项的时候,默认显示的placeholder -->
                <span v-if="!position" style="color:lightslategray">请选择一个选项</span>
                <!-- 显示已经选择的选项,目前这里是单选 -->
                <span v-else>{{position}}</span>
                <!-- 下拉菜单选择框右边的icon -->
                <span style="display:block;float: right;">
                    <img src="./icon.png" alt="" style="margin-top:7px;">
                </span>
            </span>
            <el-dropdown-menu >
                <!-- 选择'请选择‘这个选项,他没有command这个属性,所以选择他相当于,清空已经选择的选项 -->
                <el-dropdown-item>请选择</el-dropdown-item>
                <!-- 选项的数据列表循环,这里的属性,只有commang必须要使用':'绑定才能使用,这个坑了我好久,所以,为了不忘记这个事情,他所有的属性,不管是否需要绑定,我们都使用':'绑定,这个总没有错 -->
                <el-dropdown-item  v-for="(item,index) in options" :command='item.key' :divided='true'>
                    {{item.label}}-{{item.key}}
                </el-dropdown-item>
 
            </el-dropdown-menu>
        </el-dropdown>
    </div>

上边的备注我写的还算完整,基本上看完了就能明白我的设计思想。

这里重点说一下我遇到的一个最大的坑:

组件的command这个属性,使用的时候,必须使用v-bind或者 :来绑定,不然你给他赋变量,他没有办法解析。

其余的属性,比如:divided(分割线)在使用的时候,绑不绑定都行。

组件的trigger属性不能使用v-bind或者:来绑定,不然会报错:

以上两点一定要注意。

Js部分代码:

// 我们声明一个数据对象,在创建VUE实例的时候,绑定到vue的数据中,这里的数据是响应式的,就是当数据发生改变时,页面不需要刷新就可以发生改变。
    var obj = {
        // 下拉列表显示的数据
        options: [{
            key:'1',
            value: '选项1',
            label: '黄金糕'
        }, {
            key:'2',
            value: '选项2',
            label: '双皮奶'
        }, {
            key:'3',
            value: '选项3',
            label: '蚵仔煎'
        }, {
            key:'4',
            value: '选项4',
            label: '龙须面'
        }, {
            key:'5',
            value: '选项5',
            label: '北京烤鸭'
        }],
        // 选中项的label
        position:'',
    };
    // 创建VUE实例
    var app = new Vue({
        el: '#app', // 绑定元素
        data: obj,
        methods: {
            /**
             * @name 选择选项的时候触发的事件(只能传递一个参数) 
             */
            handleCommand(command)
            {
                var self = this;
                // 如果没有传递command,那么就是清空选项
                if(!command)
                {
                    self.position = '';
                }
                else
                {
                    // 循环json数组,我这里的目的是,将你选中的选项的label显示到框中。
                    for (var i = 0; i < self.options.length; i++) 
                    {
                        if (self.options[i].key == command) 
                        {
                            self.position = self.options[i].label;
                        }
                    }
                }
            },
        },
    });

Js部分可能就没有什么了,没有什么太具体的逻辑,只有一个显示。具体逻辑在你使用的时候,需要根据自己的实际情况来添加。

最终效果如下图所示:

到此这篇关于element-ui下拉菜单组件Dropdown的文章就介绍到这了,更多相关element-ui下拉菜单Dropdown内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • elementUI组件el-dropdown(踩坑)

    选择即改变:click选择哪个,就显示当前的值,页面UI显示并伴随css样式的变化. 重点:v-if 和 v-else-if 的搭配使用,缺一不可. 效果图: 正确的代码如下: 重要提示: 我之前使用的全部是v-if判断,没有搭配v-else-if,所以就出现了bug:即只能点击一次,(然后就失效了)就不能继续点击了. 但是我想要的功能:是能改变之前的选择状态. 所以,才有了下面的代码优化(逻辑上的优化). <div class="it-after" v-if=" re

  • ElementUI中的el-dropdown传入多参数的实现方法

    最近工作中因为业务中按钮的增多,导致页面排版按钮过多,页面不够美观,用户体验不佳,于是想到利用el-dropdown做一个下拉按钮(把多个按钮整合到了一起,下拉实现) 但是ElementUi官方文档中的handleCommand方法只允许接入一个参数,这个参数用于触发你选择的是哪一个选项.而我们实际中还需要传入一个当前行数(如果和我一样,也是用table显示数据的话)的对象进去,后面要使用这个对象的某些字段传给后台进行一些增删改查的操作. ElementUi官方文档中el-dropdown的样例

  • 解决element-ui中下拉菜单子选项click事件不触发的问题

    将@click改为@click.native='logoutHandle';即可监听选项的点击事件. <el-dropdown class="pull-right" > <span class="el-dropdown-link"> <img src="./img/header.jpg" alt="" class="pull-right"> </span> &

  • Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)

    这篇博客主要介绍树形控件的两个小小的功能: 下拉菜单 输入过滤框 以CSS样式为主,也会涉及到Vue组件和element组件的使用. 对于没有层级的数据,我们可以使用表格或卡片来展示.要展示或建立层级关系,就一定会用到树形组件了. 使用Vue + Element UI,构建出最基本的树如下图所示: 现在我们就要在这个基础上进行改造,使页面更加符合我们的交互场景. 下拉菜单 将下拉菜单嵌到树节点中,使操作更加简便.紧凑. 效果演示 效果如图: 图示1:悬浮在树节点状态 图示2:点击三个点图标状态

  • elementUI中el-dropdown的command实现传递多个参数

    目录 el-dropdown的command如何传递多个参数 实现方法 elementUI下拉command传递多参数事件封装 问题产生 解决办法 el-dropdown的command如何传递多个参数 el-dropdown的command事件默认传递一个参数,即每个下拉选项el-dropdown-item中设定的command的值,那么如何传递多个参数呢? 实现方法 动态设置el-dropdown-item中的command值 1. HTML部分 <el-dropdown size="

  • element-ui下拉菜单组件Dropdown的示例代码

    项目中使用了element ui的页面组件. 在使用dropdown组件的时候,发现了我自己的一些问题,这里记录一下,文末有整理好的我自己用的一个demo.可下载. 基础的使用方法可以参照官方文档: element.eleme.io/#/zh-CN/com… 这里边给出的解释还是很全的,只是,刚刚接触的同学(比如我),有些地方注意不到,有些坑还得踩一踩. 首先上代码: 先是html部分: <div id='app' style="margin:50px;">        

  • pyqt5 实现 下拉菜单 + 打开文件的示例代码

    如下所示: # -*- coding: utf-8 -*- import sys import os from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtCore import QRect, QSize, QMetaObject, QCoreApplication,\ QPropertyAnimation from PyQt5.QtGui import

  • Vue.js下拉菜单组件使用方法详解

    本文实例为大家分享了Vue.js下拉菜单组件的具体实现代码,供大家参考,具体内容如下 效果 #### 入口页面 index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scal

  • Element树形控件整合带图标的下拉菜单(tree+dropdown+input)

    目录 需求说明: 实现步骤: 本文主要讲述:自定义树形控件<el-tree> 需求说明: Element UI 官网提供的树形控件包含基础的.可选择的.自定义节点内容的.带节点过滤的以及可拖拽节点的树形结构 如下: 我想要的效果是支持搜索效果的树,将鼠标悬浮后显示添加修改图标,点击图标后弹出对应页面:并且在每个文件夹前添加自定义图标. 实现效果: 实现步骤: 1.使用插槽(slot) <el-col :span="4" :xs="24"> &

  • 基于bootstrap按钮式下拉菜单组件的搜索建议插件

    本文实例为大家分享了Bootstrap Search Suggest搜索建议插件的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8"> <title>Bootstrap 搜索建议插件</title> <meta name="viewport" content

  • Bootstrap按钮下拉菜单组件详解

    按钮组也是一个独立的组件,按钮组和下拉菜单组件一样,需要依赖于button.js插件才能正常运作. 把一组<div class="btn-group">组合进一个<div class="btn-toolbar">做成更复杂的组件. <div class="btn-toolbar" role="toolbar"> <div class="btn-group">

  • vue+element实现下拉菜单并带本地搜索功能示例详解

    需求: 后台返回数组对像,前端组合成数组,根据name组合成一个个数组并把后台返回的值当成一个children推入数组,在数组中自定义属性备份数据防止搜索的时候改变原数组使得数组无法回退 这里是用的vuex存储,因为多个页面使用同一个接口;所以没必要重复请请求 src\store\module\metadata.js /* * @Author: your name * @Date: 2021-09-02 15:46:45 * @LastEditTime: 2021-09-16 17:39:53

  • Vue下拉菜单组件化开发详解

    本文实例为大家分享了Vue下拉菜单组件化开发的具体代码,供大家参考,具体内容如下 搞一个自定义组件,只是一个很简单的下拉菜单,也就是一个思路,整起 第一步:在项目中专门创建一个放置自定义组件的文件夹(直接components底下的common中) dropdown.vue 为一级盒子 dropdownMenu.vue 为二级盒子 dropdownItem.vue 为二级盒子内容 第二步 : 对dropdown.vue的操作 <template> <div class="box&

  • Element ui 下拉多选时新增一个选择所有的选项

    项目里经常会用到,在一个多选下拉框里新增一个选择所有的选项,例如: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"

  • Vue封装远程下拉框组件的实现示例

    之前封装了一个远程搜索的输入框,静态在Vue官网看到一个类似的远程搜索下拉框,今天也封装一个远程搜索下拉框,面对不同的需求 我们修改了官方提供的代码来封装了 父组件 RemoteSearch.vue <template> <el-row> <el-select v-if="chooseFlag ==0" v-model="selectKey" :multiple="false" :filterable="t

随机推荐