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组件学习教程进行学习。

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

以上是 Vue.js仿Select下拉框效果 的全部内容, 来源链接: utcz.com/p/237029.html

回到顶部