Vue.js仿Select下拉框效果

本文实例为大家分享了Vue.js仿Select下拉框效果的具体代码,供大家参考,具体内容如下

废话少说,直接上图上代码:

效果图:

HEML:

<div id="demo">

 <h2 class="title">自定义下拉框</h2>
 <imitate-select h2-value="第一个 Select" v-bind:list="list1"></imitate-select>

 <h2 class="title">自定义下拉框</h2>
 <imitate-select h2-value="第二个 Select" v-bind:list="list2"></imitate-select>

</div>

Javascript:

<script>
 // 注册组件【 全局 】
 Vue.component('imitate-select', {
  data: function(){ // 给每一个添加一个自己的对象
   return {
    selectShoe: false,
    val: ''
   }
  },
  props: ['h2Value', 'list'], // 这里的名称一定是驼峰式【如:上面是 h2-value(上面可以是烤串或驼峰式) ,下面必须是 h2Value】
  template: `<section class="main">
      <div class="select">
       <h2 class="fuzhi">{{ h2Value }}</h2>
       <div class="select_header">
        <input type="text" class="select_input" placeholder="模仿Select下拉框" @click="selectShoe = !selectShoe" :value="val" ><i></i>
       </div>
       <select-list v-show="selectShoe" :list="list" @receive="changeHandle"></select-list>
      </div>
     </section>`,
  methods: {
   changeHandle(value){ // 自定义事件
    // alert('我被触发了!值为:' + value)
    this.val = value
   }
  }
 });

 Vue.component('select-list', {
  props: ['list'],
  template: `<ul class="select_list">
      <li v-for="item of list" @click="selectHandle(item)">{{ item }}</li>
     </ul>`,
  methods: {
   selectHandle: function (item){
    this.$emit('receive', item)
   }
  }
 });

 new Vue({
  el: '#demo',
  data: {
   list1: ['HTML','CSS','Javascript','Vue.js'],
   list2: ['PHP','JAVA','C++','.NET']
  }
 })
</script>

更多教程点击《Vue.js前端组件学习教程》,欢迎大家学习阅读。

关于vue.js组件的教程,请大家点击专题vue.js组件学习教程进行学习。

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

(0)

相关推荐

  • 浅谈Vue Element中Select下拉框选取值的问题

    之前写了.一个原生的select的,因为展示效果原因,给删除掉了,忘记保存代码了,现在大家展示使用elementUI的下拉框封装一个组件,供咱们项目中经常调用,减少代码量. html: <el-select v-model="ite" placeholder="请选择" value-key="mateGroup"> <el-option style="width: auto" :disabled="

  • vue实现的下拉框功能示例

    本文实例讲述了vue实现的下拉框功能.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>www.jb51.net vue下拉框</title> <script src="https://cdn.bootcss.com/vue/2.4.4/vue.min.js

  • vue.js实现单选框、复选框和下拉框示例

    Vue.js可以很方便的实现数据双向绑定,所以在处理表单,人机交互方面具有很大的优势.下边以单选框.复选框和下拉框为例介绍他们在HTML和Vue.js中的具体实现方式. 一.单选框 在传统的HTML中实现单选框的方法如下: <div id="app"> <input type="radio" name="gender" value="man" id="man"/><label

  • vue.js select下拉框绑定和取值方法

    最近在做mui+vue.js的移动项目,遇到了这个解决了,所以记录一下: 1.绑定select下拉框的代码很简单sendlist就是下拉框的集合,这个可以去看vue.js的文档: 地址:https://cn.vuejs.org/v2/api/ :value绑定的值就是这个下拉框对应的value值 <select id="sendSybol" v-model="searchDto.sendSymbolId"> <option v-for="

  • 基于vue实现可搜索下拉框定制组件

    实践加深对vue的理解和运用有效途径,本文是基于vue的可搜索下拉框定制组件实现,在此记录. 一.效果 二.组件代码 dropdown.vue <template> <div class="vue-dropdown default-theme" v-show-extend="show"> <div class="search-module clearfix" v-show="length">

  • vue组件实现可搜索下拉框扩展

    本文实例为大家分享了vue组件实现可搜索下拉框的具体代码,供大家参考,具体内容如下 一.效果 二.代码 dropdown-ext.vue <template> <div class="vue-dropdown-ext" :class="themestyle" v-show-extend="show"> <div class="search-module clearfix" v-show="

  • vue 不使用select实现下拉框功能(推荐)

    html部分:v-for循环出的结构 <div > <p @click="clickSize (item, index)">{{item.name}}</p> <transition name="opacityLeave"> <div class="condition-list" v-show="isShowSize && index == i"> &

  • Vue.js 2.0中select级联下拉框实例

    在网上搜索了Vuejs2.0 动态级联select许久未果,决定自己总结一下自己的经验,有关select在Vue.js 2.0版本中的应用.首先我先说一下的我使用的技术,我参考了网上成熟的经验,选择以Vue.js 2.0+Vue-router+Vuex的全家桶. select首先要区分单选和多选,v-model在select单选和多选上有区别.     select单选实例: <select v-model="fruit"> <option selected valu

  • Vue.js仿Select下拉框效果

    本文实例为大家分享了Vue.js仿Select下拉框效果的具体代码,供大家参考,具体内容如下 废话少说,直接上图上代码: 效果图: HEML: <div id="demo"> <h2 class="title">自定义下拉框</h2> <imitate-select h2-value="第一个 Select" v-bind:list="list1"></imitate-se

  • js实现select下拉框菜单

    本文实例讲述了js实现select下拉框菜单的详细代码.分享给大家供大家参考.具体如下: 运行效果截图如下: 具体代码如下: <!DOCTYPE html> <html> <head> <title></title> <style type="text/css"> #gridComboBox { background: #fff; border: 1px solid #2d78f4; border-radius:

  • 基于vue.js中关于下拉框的值默认及绑定问题

    一.今天遇到vue中下拉框问题,故而写点东西留个脚印 <template> <select v-model='selected' @click="disable()"> <option v-for="(option,index) in options" v-bind:value="option.value" :disabled="option.disabled"> {{ option.tex

  • Angular.JS中select下拉框设置value的方法

    前言 本文主要给大家介绍的是关于Angular.JS中select下拉框设置value的相关内容,非常出来供大家参考学习,下面来一起看看详细的介绍: 最近在系统中增加一个查询的筛选条件,通过下拉框选取,用的是Angular常见的ng-options 指令: <select id="selectDetectUnit" class="form-control" ng-model="detectUnits" ng-options="de

  • js实现Select下拉框具有输入功能的方法

    本文实例讲述了js实现Select下拉框具有输入功能的方法.分享给大家供大家参考.具体实现方法如下: 实现方法一 复制代码 代码如下: <HTML> <HEAD> <META http-equiv='Content-Type' content='text/html; charset=gb2312'> <TITLE>js实现可输入的下拉框</TITLE> </HEAD> <BODY> <div style="

  • js自定义select下拉框美化特效

    select的默认样式往往很丑,为保证页面样式风格统一,需要对select进行美化.虽然其美化的插件很多,一搜一大把,但是需要引入长长的css文件和js文件实在是件头痛的事.其实select的实现原理很简单,就是一个点击 切换 显示和隐藏 并传值 的过程.用jquery模拟了,样式想怎么写就怎么写,且不限数量. 朴素的效果: html: <div class="select_box"> <font>›</font> <span>选项1&l

  • js实现select下拉框选择

    最近在做一个项目需要兼容到ie不同版本,在使用select时遇到了各种问题.后来索性就自己使用原生js实现了这样一个下拉框,话不多说,直接上代码吧. <html lang="en"> <head> <meta charset="UTF-8"> <title>自定义select</title> </head> <style> *{ margin: 0; padding: 0; } #m

  • jquery及原生js获取select下拉框选中的值示例

    现在有一id=test的下拉框,怎么拿到选中的那个值呢? 分别使用javascript原生的方法和jquery方法 复制代码 代码如下: <select id="test" name=""> <option value="1">text1</option> <option value="2">text2</option> </select> 一:javas

  • JS操作select下拉框动态变动(创建/删除/获取)

    1.动态创建select 复制代码 代码如下: function createSelect(){ var mySelect = document.createElement_x("select"); mySelect.id = "mySelect"; document.body.appendChild(mySelect); } 2.添加选项option 复制代码 代码如下: function addOption(){ //根据id查找对象, var obj=docu

随机推荐