VUE:Select2
- <template>
- <div>
- <ul class="skill">
- <li v-for='item of list' v-on:click='selectLi(item)'>{{item}}</li>
- </ul>
- </div>
- </template>
- <script>
- export default {
- name:'myul',
- props: ['list'],
- methods: {
- selectLi: function(item) {
- //$emit触发当前实例上的自定义事件 receive
- this.$emit('receive', item);
- }
- }
- }
- </script>
- <style>
- ul, li {
- margin: 0;
- padding: 0;
- list-style: none;
- }
- .skill li {
- font-size: 18px;
- line-height: 2rem;
- height: 2rem;
- padding-left: 5px;
- cursor: pointer;
- }
- .skill li:hover {
- background-color: #008b45;
- }
- </style>
- <template>
- <div>
- <div id="selectWrap">
- <div class="searchBox">
- <input type="text" :value="selectVal" @click='ulShow = !ulShow'/>
- <a href="#" rel="external nofollow" class="search" v-text='btnName'></a>
- </div>
- <div>
- <myul v-show='ulShow' v-bind:list='list' v-on:receive='changeVal'></myul>
- </div>
- </div>
- </template>
- <script>
- import Vue from 'vue'
- import myul from './myul'
- Vue.component("myul", myul)
- export default {
- name:'myselect',
- data() {
- return {
- ulShow: false, //默认ul不显示,单击input改变ul的显示状态
- selectVal: '' //选项值,input的值与选项值动态绑定
- }
- },
- props: ['btnName', 'list'],
- methods: {
- changeVal(value) {
- this.selectVal = value
- }
- }
- }
- </script>
- <style>
- #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;
- }
- </style>
- // The Vue build version to load with the `import` command
- // (runtime-only or standalone) has been set in webpack.base.conf with an alias.
- import Vue from 'vue'
- import myselect from './myselect'
- Vue.config.productionTip = false
- /* eslint-disable no-new */
- new Vue({
- el: '#app',
- data: {
- data1: ['CSS', 'HTML', 'JavaScript']
- },
- components: {myselect},
- template: "<myselect btn-name='search' v-bind:list='data1' style='float: left;margin-right: 2rem;'></myselect>"
- })
VUE:Select2的更多相关文章
- vue2组件之select2调用
目前,项目中使用了纯前端的静态项目+RESTFul接口的模式.为了更好的对数据进行操作,前端使用了vue2的mvvm功能,但是由于不是单页面应用,所以,并没有涉及到其它的如vue-route等功能,也 ...
- 随手记录一下 Vue 下来框搜索 select2 封装成vue
引入布局文件 <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css& ...
- vue 组建实现数据的双向绑定
<!DOCTYPE html><html><head> <style>body { font-family: Helvetica Neue, Aria ...
- 解决vue与传统jquery插件冲突
比如基于jquery的select2插件,在vue下单独用有很多问题,其实对于这类插件,可以用vue的自定义指令和组件来包装,解决冲突的问题.引用官方vue1.0和2.0的两个例子,学习一下. 例子1 ...
- 比较好的前端方法库及一些vue如何引入静态文件
https://select2.github.io/examples.html select2 自动搜索带select选择 ## 表单提交 https://github.com/marioizqu ...
- 对vue生命周期/钩子函数的理解
对于实现页面逻辑交互等效果,我们必须知晓vue的生命周期,才能愉快的玩耍,知道我们写的东西应该挂载到哪里,vue官方给出的api讲解的那叫一个简单啊,如下: 所有的生命周期钩子自动绑定this上下文到 ...
- Vue 实例中的生命周期钩子
Vue 框架的入口就是 Vue 实例,其实就是框架中的 view model ,它包含页面中的业务处理逻辑.数据模型等,它的生命周期中有多个事件钩子,让我们在控制整个Vue实例的过程时更容易形成好的逻 ...
- Vuejs自定义select2指令
在做select2插件的时候遇到一些坑,最终解决如下: Vue.directive('select2', { inserted: function (el, binding, vnode) { var ...
- vue项目开发基本目录结构
§ 目录结构 . ├── build/ # Webpack 配置目录 ├── dist/ # build 生成的生产环境下的项目 ├── src/ # 源码目录(开发都在这里进行) │ ├── ass ...
随机推荐
- CodeBlocks 配置
CodeBlocks 配置 Code::Blocks 17.12 时间:2019.6 下载网址 http://www.codeblocks.org/downloads/26 ,这里选择的是 mingw ...
- springCloud-Hystrix熔断器
熔断器的原理很简单,如同电力过载保护器.它可以实现快速失败,如果它在一段时间内侦测到许多类似的错误,会强迫其以后的多个调用快速失败,不再访问远程服务器,从而防止应用程序不断地尝试执行可能会失败的操作, ...
- NOIP比赛中如何加速c++的输入输出
NOIP比赛中如何加速c++的输入输出 在竞赛中,遇到大数据时,往往需要更快的读取方式.由于比赛中输出一般规模较小,本文只讨论输入如何加速. 现在我们生成1000000个随机数,构成1000*1000 ...
- [游戏复刻] Super Mario Brothers(1985. Famicom)
10/20 第一版,导入了地图,设置了碰撞块
- 数据结构与算法之排序算法(python实现)
1.冒泡排序 冒泡排序的原理是依次比较相邻的两个数,如果前一个数比后一个数大则交换位置,这样一组比较下来会得到该组最大的那个数,并且已经放置在最后,下一轮用同样的方法可以得到次大的数,并且被放置在正确 ...
- RBAC授权
RBAC RBAC使用rbac.authorization.k8s.io API Group 来实现授权决策,允许管理员通过 Kubernetes API 动态配置策略,要启用RBAC,需要在 api ...
- 怎样使用js将文本复制到系统粘贴板中
需要使用到三个document方法: 1. document.execCommand(); 执行某个命令 2. document.queryCommandSupported(); 检测浏览器是否支持某 ...
- c# ServiceStack web 搭建
用的是4.5的.net版本 构建model /// <summary> /// 通过id获取资料 /// </summary> //[Route("/GetStude ...
- 【原创】大叔经验分享(80)openresty(nginx+lua)发邮件
nginx配置 lua_package_path "/usr/local/openresty/lualib/resty/smtp/?.lua;;"; lua_need_reques ...
- JS基础_对象的方法
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...