效果图如下:

当 鼠标 点击 输入框时,显示下拉滚动列表,点击后采用赋值给 输入框; 在输入框中输入值可以再我们的下拉列表数据中进行模糊匹配

完整代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>手写一个select</title><div id ="app"><input type="text"  class="my_input" v-model.trim="inputValue" @click="openSelect"><div class="my_select" v-show="showMySelect"><ul><li v-for="(item, index) in datas" :key= index><div class="select_item" @click="getClickItem(index)" v-show="canShowItem(item.value)">{{item.value}}</div></li></ul></div></div></head>
<body><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({el: '#app',data: {datas: [{value: '蒜薹炒肉'},{value: '莴笋炒肉'},{value: '笋子炒肉'},{value: '红烧牛腩'},{value: '干锅兔'},{value: '番茄炒鸡蛋'},{value: '红烧牛腩'},{value: '干煸鸡'},{value: '红油抄手'},{value: '蒸饺'}],inputValue: null,showMySelect: false},methods: {getClickItem(index) {this.inputValue = this.datas[index].value;this.showMySelect = false;},openSelect() {this.showMySelect = true;},submit() {console.log(this.inputValue)}},computed: {canShowItem() {return (value) => {if (this.inputValue != null && this.inputValue.length > 0 ) {return value.indexOf(this.inputValue) >= 0;} else {return true;}  }}}})</script><style scoped >ul {list-style: none;padding-inline-start: 0;max-height: 200px;overflow-y: scroll;}.my_input {width: 100%;}.my_select {background-color: rgb(211, 211, 211);width: inherit;text-align: center;}.select_item {height: 32px;}#app {width: 400px;height: 400px;}</style>
</body>
</html>

手写一个类似 element-ui 的可输入下拉选择相关推荐

  1. 从0开始手写一个类似Linux的操作系统

    一.效果 这个操作系统取名为winux 主要实现了内存管理.线程.进程.文件系统.shell.进程间通信,是用来学习linux操作系统的不错选择,自从我做完这么一个系统再去看<linux内核设计 ...

  2. element ui table 中加下拉菜单

    <el-table-column prop="roleList" label=角色 :width="180">        <templat ...

  3. ES6 手写一个“辨色”小游戏

    1. 前言 依稀记得几年前朋友圈流行的辨色小游戏,找出颜色不同的矩形.前些天突发奇想,打算自己手写一个类似的游戏,话不多说,先上 Demo . --项目源码 本实例基于 ES6 实现,并兼容 ie9及 ...

  4. zookeeper springboot_摊牌了!我要手写一个“Spring Boot”

    ❝ 目前的话,已经把 Spring MVC 相关常用的注解比如@GetMapping .@PostMapping .@PathVariable 写完了.我也已经将项目开源出来了,地址:https:// ...

  5. 摊牌了!我要手写一个“Spring Boot”

    目前的话,已经把 Spring MVC 相关常用的注解比如@GetMapping .@PostMapping .@PathVariable 写完了.我也已经将项目开源出来了,地址:https://gi ...

  6. Java 手写一个SQL分页

    Java手写一个类似PageHelper的分页SQL 目前分页插件众所周知的莫过于和mybatis完美融合的PageHelper了,简单两行代码就实现了sql分页,配合PageInfo类,将数据总数量 ...

  7. 仿携程oracle课程设计,一个不错的仿携程自定义数据下拉选择select

    这是一个仿携程自定义的数据下拉选择select,对一些比较重要的参数进行的描述,方便初学者 /* *id : id 当前插件的父元素 *data : json 选择的数据(json格式) *bool ...

  8. 未能加载文件或程序集或它的某一个依赖项_手写一个miniwebpack

    前言 之前好友希望能介绍一下 webapck 相关的内容,所以最近花费了两个多月的准备,终于完成了 webapck 系列,它包括一下几部分: webapck 系列一:手写一个 JavaScript 打 ...

  9. 用 Go 手写一个 JSON 序列化器

    用 Go 手写一个 JSON 序列化器 方案 实现 字符串转义 忽略类型 序列化器主体 数字和逻辑类型 字符串类型 数组类型 字典类型 自定义结构类型 指针类型 API 使用 安装 调用 测试 开源和 ...

  10. vue自定义插件 封装一个类似 element 中 message 消息提示框的插件

    vue自定义插件 封装一个类似 element 中 message 消息提示框的插件 一.资源文档 1.vue内置组件 transition 2.Vue.use() 3.Vue.extend() 4. ...

最新文章

  1. 安卓端和服务器端通信协议,安卓客户端和服务器如何通信协议
  2. 互联网协议 — DNS 缓存机制
  3. 安振平老师的4911号不等式问题的证明
  4. 有助于项目管理(PM)指导思想
  5. curPos和tgtPos
  6. crossdomain.xml
  7. java synchronized 类锁_【java】synchronized对象锁和类锁简介【图文教程】
  8. HCIE-Security Day31:IPSec:实验(六)配置PPPoE拨号分支与总部建立IPSec隧道示例
  9. 别再为了this发愁了:JS中的this机制
  10. 三星研发的另一种解读
  11. 企业部署信息安全等级保护的重要性
  12. 学习Vue3 第二十七章(自定义指令directive)
  13. Android CPU 深度睡眠,处理器的深度和深度睡眠状态之间的差异
  14. h61 nvme硬盘_切割SN520amp;amp;对比主流NVME2242amp;amp;无硬盘盒迁移系统
  15. C++ 二义性是什么?怎么解决?
  16. “创新驱动的结构化思维”培训
  17. Android笔记:Dialog显示图片
  18. 粒子群算法的寻优算法-非线性函数极值寻优
  19. 微汇智能袁文龙受邀剪彩北斗微芯长沙高新区项目开工
  20. win8(64位)下memcache安装时报错“ failed to install service or service already installed”

热门文章

  1. ORA-1652: unable to extend temp segment by 128 in tablespace TEMP解决
  2. 当下OA系统的使用缺陷以及相关解决方案
  3. LaTex 在线编辑网站—overleaf简介
  4. 分享5个高质无损音乐网站,歌曲很丰富,爱听歌的小伙伴有耳福了
  5. 2017年囧事大全,全部真人真事
  6. 关于全国大学生软件测试大赛总结与反思
  7. 【CZY选讲·逆序对】
  8. python根据汉字获得拼音,python获取一组汉字拼音首字母的方法 -电脑资料
  9. 地月距离竟然如此遥远
  10. 什么是平行样?怎么做?最大允许偏差是多少? 测量和其评定方法 ?