element-ui下拉菜单组件Dropdown

简介: <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;"> <!-- 没有选项的时候,默认显示的

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

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

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

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

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

首先上代码:

先是html部分:

xml

复制代码

<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或者:来绑定,不然会报错:

image.png

以上两点一定要注意。

Js部分代码:

php

复制代码

// 我们声明一个数据对象,在创建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部分可能就没有什么了,没有什么太具体的逻辑,只有一个显示。具体逻辑在你使用的时候,需要根据自己的实际情况来添加。

最终效果如下图所示:

image.png

有好的建议,请在下方输入你的评论。

原文链接:点击这里,走你

欢迎访问个人博客 guanchao.site

欢迎访问我的小程序:打开微信->发现->小程序->搜索“时间里的”

目录
相关文章
|
3天前
|
缓存 搜索推荐 索引
「Mac畅玩鸿蒙与硬件12」鸿蒙UI组件篇2 - Image组件的使用
在鸿蒙应用开发中,Image 组件用于加载和显示图片资源,并提供多种属性来控制图片的显示效果和适配方式。本篇将带你学习如何在鸿蒙应用中加载本地和远程图片、设置图片样式以及实现简单的图片轮播功能。
29 7
「Mac畅玩鸿蒙与硬件12」鸿蒙UI组件篇2 - Image组件的使用
|
5天前
|
自然语言处理 开发者
「Mac畅玩鸿蒙与硬件11」鸿蒙 UI 组件篇1 - Text 和 Button 组件详解
本篇将详细介绍鸿蒙应用开发中的 Text 和 Button 组件。通过本篇内容,你将学习如何使用 Text 组件显示文本、格式化文本样式,以及如何使用 Button 组件处理点击事件并自定义样式。掌握这些基本组件的用法将为后续的 UI 开发奠定基础。
27 4
「Mac畅玩鸿蒙与硬件11」鸿蒙 UI 组件篇1 - Text 和 Button 组件详解
|
6月前
|
Android开发 算法 架构师
android的基础ui组件,这些知识点你会吗
android的基础ui组件,这些知识点你会吗
android的基础ui组件,这些知识点你会吗
|
21天前
|
JavaScript 索引
Vue开发中Element UI/Plus使用指南:常见问题(如Missing required prop: “value“)及中文全局组件配置解决方案
Vue开发中Element UI/Plus使用指南:常见问题(如Missing required prop: “value“)及中文全局组件配置解决方案
82 0
|
1月前
Element-UI组件的使用
【10月更文挑战第1天】
31 0
|
2月前
|
JavaScript
从零开始写一套广告组件【一】搭建基础框架并配置UI组件库
其实这个从零有点歧义,因为本质上是要基于`tdesign-vue-next`来进行二次封装为一套广告UI组件库,现在让我们在一起快乐的搭建自己的广告UI库之前,先对以下内容做出共识:
71 0
从零开始写一套广告组件【一】搭建基础框架并配置UI组件库
|
3月前
|
存储 搜索推荐 Java
探索安卓开发中的自定义视图:打造个性化UI组件Java中的异常处理:从基础到高级
【8月更文挑战第29天】在安卓应用的海洋中,一个独特的用户界面(UI)能让应用脱颖而出。自定义视图是实现这一目标的强大工具。本文将通过一个简单的自定义计数器视图示例,展示如何从零开始创建一个具有独特风格和功能的安卓UI组件,并讨论在此过程中涉及的设计原则、性能优化和兼容性问题。准备好让你的应用与众不同了吗?让我们开始吧!
|
3月前
|
JavaScript 前端开发 安全
[译] 在 Vue 组件中分离 UI 和业务逻辑。
[译] 在 Vue 组件中分离 UI 和业务逻辑。
|
3月前
|
JavaScript UED
基于Vue2.0仿Element UI的el-tooltip实现一个气泡框组件,支持多数据类型的显示和内容为空时不显示气泡框
该文章介绍了如何基于Vue2.0仿照Element UI的el-tooltip组件实现一个自定义的气泡框组件,该组件能够根据内容是否为空智能显示或隐藏,支持多种数据类型的显示。
109 0
基于Vue2.0仿Element UI的el-tooltip实现一个气泡框组件,支持多数据类型的显示和内容为空时不显示气泡框
|
3月前
|
数据可视化 数据挖掘 持续交付
Axure Web端元件库:从Quick UI到500+组件的飞跃
在快速变化的数字世界中,产品设计不仅仅是功能的堆砌,更是用户体验的精心雕琢。原型设计作为产品开发过程中的关键环节,其重要性不言而喻。Axure,作为业界领先的原型设计工具,凭借其强大的交互设计和丰富的功能,赢得了全球设计师和开发者的信赖。而Axure Web端元件库,则是这一平台上的一颗璀璨明珠,它以超过500个精心设计的组件为基础,为设计师们打开了一扇通往高效、高质量原型设计的大门。
132 0