IMWeb训练营作业2-SELECT组件
来源:互联网 发布:国画淘宝梅花挂客厅 编辑:程序博客网 时间:2024/06/06 11:44
运行效果图:
核心代码:
<!doctype html><html><head><meta charset="utf-8"><title>select</title><script src="./vue.js"></script><link href="./main.css" rel="stylesheet" type="text/css"></head><body> <div id="app"> <div class="appose"> <h2>自定义的下拉框1</h2> <custom-select btn="查询" v-bind:list="list1"></custom-select> </div> <div class="appose"> <h2>自定义的下拉框2</h2> <custom-select btn="搜索" v-bind:list="list2"></custom-select> </div> </div> <script> //注册组件 Vue.component("custom-select",{ data:function(){ return { selectShow:false, val:"" }; }, props:["btn","list"], template:` <section class="warp"> <div class="searchIpt clearFix"> <div class="clearFix"> <input type="text" class="keyWord" :value="val" @click="selectShow = !selectShow"/> <input type="button" :value="btn"/> <span></span> </div> <custom-list v-show="selectShow" :list="list" v-on:receive="changeValueHandle" > </custom-list> </div> </section>`, methods:{ changeValueHandle(value){ this.val = value; } } }) Vue.component("custom-list",{ props:["list"], template:` <ul class="list"> <li v-for="item of list" @click="selectValueHandle(item)">{{item}}</li> </ul>`, methods:{ selectValueHandle:function(item){ this.$emit("receive",item); } } }) new Vue({ el:"#app", data:{ list1:["北京","上海","杭州"], list2:["计算机网络","数据结构","数据库系统","微机原理","编译原理","算法分析与设计","高等数学","面向对象程序设计"] } }); </script></body></html>
CSS代码
/* CSS Document */body{ margin:0; font-family:"微软雅黑"; color:#333;}ul,li{ margin:0; padding:0; list-style:none;}input{ outline:none; cursor: pointer;}h2{ font-family:微软雅黑; margin:0; font-weight:normal;}.clearFix:after{ display: block; content:''; clear:both;}.appose{ float:left; text-align:center;}.warp{ width: 348px; margin:10px 100px 20px 100px;}.searchIpt{ position: relative; width: 336px; border:1px solid #3736ae; padding:5px; border-radius:10px; background: #e4e4fe;}.searchIpt input{ line-height: 34px; border-radius:10px; font-family:微软雅黑; color:#FFF;}.searchIpt input:nth-of-type(1){ float: left; width: 228px; padding-left: 40px; border:1px solid #c9c9d5; background: #d9d9e2;}.searchIpt input:nth-of-type(2){ float: right; width: 58px; height: 36px; border:1px solid #fd635e; background: #fd635e;}.searchIpt span{ position: absolute; top:12px; left: 15px; width: 23px; height: 23px; background: url(img/select_search.png) no-repeat;}.searchIpt input:nth-of-type(1):focus{ background: #fff; border-color:#fd635e;}.list{ margin-top:9px;}.list li{ margin:3px 0; color:#333; line-height: 30px; padding-left: 16px; width: 270px; box-sizing:border-box; border-radius:14px;}.list li.active,.list li:hover{ color:#fff; background: #fd635e; cursor: pointer;}
0 0
- IMWeb训练营作业2-SELECT组件
- 【IMWeb训练营作业】作业2 select组件
- 【IMWeb训练营作业】select 组件初版
- 【IMWeb训练营作业】select组件
- 【IMWeb训练营作业】Select组件
- IMWeb训练营作业-仿select组件
- 【IMWeb训练营作业】select 组件
- 【IMWeb训练营作业】select组件
- 【IMWeb训练营作业02 select组件】
- 【IMWeb训练营作业】之select组件
- 【IMWeb训练营作业】【Vue】Select组件
- 【IMWeb训练营作业】select组件
- [IMWeb训练营作业]select组件 20170424
- 【IMWeb训练营作业】Select 组件
- IMWeb训练营作业--VUE练习2--select组件
- [IMWeb训练营作业2]select
- 【IMWeb训练营作业2】-select
- 【IMWeb训练营作业】select
- Junit4-使用JUnit4
- BadVPN详解之--题外话:我之前自研的一个设计
- Android自定义Dialog
- RFID实验三总结
- getInstance和newInstance
- IMWeb训练营作业2-SELECT组件
- Spring事务传播行为
- C++ 多线程读取Excel技术分析
- Google Code Jam 2017 Round 1B [B-large不会]
- Java中Class.forName和ClassLoader.loadClass的区别
- 应用机器学习(二):k-NN 分类器
- POJ 1035 Spell checker 笔记
- CCF NOI1038 玩扑克
- <Effective JavaScript>