全国咨询热线:18720358503

如何建立微信小程序_Vue.js做select下拉列表的实例

类别:企业动态 发布时间:2021-01-08 浏览人次:

Vue.js做select下拉列表的实例(ul-li标签仿select标签)       下面小编就为大家分享一篇Vue.js做select下拉列表的实例(ul-li标签仿select标签),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

目标:用ul-li标签结合Vue.js知识做一个模仿select标签的下拉选项列表。

知识点:

组件的写法及运用

组件之间的数据传递(pro凡科抠图的运用)

组件之间的数据传递($emit的运用)

动态数据的绑定(v-bind)

自定义事件通信

效果图:

1、未做任何操作前,下拉列表为隐藏状态

2、点击输入框显示下拉列表

3、 点击列表项,输入框值跟随改变

凡科抠图: 为了演示data1, data2两组数据的绑定,实例中创建了两个列表

html代码:

 !DOCTYPE html 
 html 
 head 
 meta charset="UTF-8" 
 title ul-li模仿select下拉菜单 /title 
 link rel="stylesheet" type="text/css" href="style.css" rel="external nofollow" / 
 script src="vue/dist/vue.js" /script 
 /head 
 body 
 div id="demo" 
 my-select btn-name='search' v-bind:list='data1' /my-select 
 my-select btn-name='搜索' v-bind:list='data2' /my-select 
 /div 
 /body 
 /html 

JavaScript代码

 script type="text/javascript" 
//注册全局组件
//在my-select组件中套用ul-select组件,my-select为父组件ul-select为子组件
ponent('my-select', {
 //组件中data要写成函数形式
 data() {
 return {
 ulShow: false, //默认ul不显示,单击input改变ul的显示状态
 selectVal: '' //选项值,input的值与选项值动态绑定
 //父组件向子组件通信用pro凡科抠图
 pro凡科抠图: ['btnName', 'list'],
 template: `
 div id="selectWrap" 
 div 
 input type="text" :value="selectVal" @click='ulShow = !ulShow'/ 
 a href="#" rel="external nofollow" v-text='btnName' /a 
 /div 
 my-ul v-show='ulShow' v-bind:list='list' v-on:receive='changeVal' /my-ul 
 /div 
 methods: {
 changeVal(value) {
 this.selectVal = value
//子组件
ponent('my-ul', {
 pro凡科抠图: ['list'],
 template: `
 li v-for='item of list' v-on:click='selectLi(item)' {{item}} /li 
 /ul 
 methods: {
 selectLi: function(item) {
 //$emit触发当前实例上的自定义事件 receive
 this.$emit('receive', item);
//创建Vue实例
new Vue({
 el: '#demo',
 //定义两组数据分别传递到两个组件的li中,两个列表的操作互不影响
 data: {
 data1: ['CSS', 'HTML', 'JavaScript'],
 data2: ['Vue.js', 'Node.js', 'Sass'],
 /script 

CSS样式

ul, li {
 margin: 0;
 padding: 0;
 list-style: none;
#selectWrap {
 width: 250px;
 padding: 2rem;
 background: #4682b4;
.searchBox input, .searchBox a {
 line-height: 1.5rem;
 height: 1.5rem;
 margin-bottom: 1rem;
 padding: 0 5px;
 vertical-align: middle;
 border: 1px solid #aaa;
 border-radius: 5px;
 outline: none;
.searchBox a {
 display: inline-block;
 text-decoration: none;
 background-color: #b1d85c;
.skill li {
 font-size: 18px;
 line-height: 2rem;
 height: 2rem;
 padding-left: 5px;
 cursor: pointer;
.skill li:hover {
 background-color: #008b45;
}

以上这篇Vue.js做select下拉列表的实例(ul-li标签仿select标签)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持凡科。


推荐阅读

如何建立微信小程序_Vue.js做select下拉列表的实例

Vue.js做select往下拉目录的案例(ul-li标识仿select标识) 下边网编就为大伙儿共享一篇Vue.js做select往下拉目录的案例(ul-li标识仿select标识),具备非常好的参照使用价值,期待对大伙儿有...

2021-01-08
答题小程序怎么做_nodejs完成的简略web效劳器功用

nodejs完成的简易web网络服务器作用实例 本文关键详细介绍了nodejs完成的简易web网络服务器作用,融合案例方式剖析了nodejs搭建web网络服务器的有关监视、响应、数据信息解决等实际...

2021-01-08
怎么生成微信小程序_解决vue 按钮多次点击重复提

处理vue 按键数次点一下反复递交数据信息难题 本文关键详细介绍了vue 按键数次点一下反复递交数据信息的难题,文中根据案例融合的方式给大伙儿详细介绍的十分详尽,必须的朋...

2021-01-08
贵阳机务段本部道路大修工程施工总价承包招标

贵阳机务段本部道路大修工程施工总价承包招标公告 招标编号 TS-2017-47 中标结果 查看中标结果 招标项目名称 贵阳机务段本部道路大修工程 建设单位 成都铁路局贵阳机务段,成都铁路局...

2021-01-08
如何建立微信小程序_手把手教你vue

从零教你vue-cli宣传单页到多张运用的方式 vue-cli到多张运用序言:是我一个cli建立的vue新项目,可是我觉得制成多张运用,如何办,空话很少说,立即开撸~承诺:增加编码一部分...

2021-01-08
微博营销有哪些特点?

因为新浪微博应用便捷便捷、进到门坎低、运用丰富多彩五彩缤纷、可以迅速得到信息内容并与别人沟通交流,新浪微博集聚了极大的人气值。那麼它都是有甚么特性呢?简易小结一下。...

2021-01-08
X

400-8700-61718720358503
企业邮箱2639601583@qq.com
官方微信