Vue.js的ul-li标签如何仿制select标签

这次给大家带来Vue.js的ul-li标签如何仿制select标签,Vue.js的ul-li标签如何select标签注意事项有哪些,下面就是实战案例,一起来看一下。

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

知识点:

组件的写法及运用

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

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

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

自定义事件通信

效果图:

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

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

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

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

html代码:

  ul-li模仿select下拉菜单   

登录后复制

JavaScript代码

//注册全局组件//在my-select组件中套用ul-select组件,my-select为父组件ul-select为子组件Vue.component('my-select', { //组件中data要写成函数形式 data() {  return {   ulShow: false, //默认ul不显示,单击input改变ul的显示状态   selectVal: '' //选项值,input的值与选项值动态绑定  } }, //父组件向子组件通信用props props: ['btnName', 'list'], template: `  

`, methods: { changeVal(value) { this.selectVal = value } }})//子组件Vue.component('my-ul', { props: ['list'], template: `
  • {{item}}
`, 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'], }})

登录后复制

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;}

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

实现文件上传的AjaxUpLoad.js

Vue的轮播组件怎么使用

以上就是Vue.js的ul-li标签如何仿制select标签的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2773440.html

(0)
上一篇 2025年3月8日 13:48:11
下一篇 2025年3月6日 19:40:42

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • vue.js中Axios的概念以及使用方法

    本篇文章给大家分享的内容是vue.js中Axios的概念以及使用方法,有着一定的参考价值,有需要的朋友可以参考一下     1.什么是axios    https://www.kancloud.cn/yunye/axios/234845这是…

    2025年3月8日
    200
  • 几种js中this函数的调用方式

    javascript中的this含义非常丰富,它可以是全局对象,当前对象或者是任意对象,这都取决于函数的调用方式。函数有以下几种调用方式:作为对象方法调用、作为函数调用、作为构造函数调用、apply或call调用。 对象方法调用 作为对象方…

    编程技术 2025年3月8日
    200
  • js数组去重以及如何判断出字符串出现次数最多的字符

    本篇文章给大家分享的内容是s数组去重以及如何统计字符串出现最多的字符的代码分享,有着一定的参考价值,有需要的朋友可以参考一下 数组去重: 数组去重function test(str){ let len = str.length; let s…

    编程技术 2025年3月8日
    200
  • 5个关于JavaScript数组的迭代方法

    本篇文章给大家分享的内容是5个关于JavaScript数组的迭代方法,有着一定的参考价值,有需要的朋友可以参考一下 ECMAScript5为数组定义了5个迭代方法。每个方法都接受两个参数:要在每一项运行的函数和(可选的)运行函数的作用域对象…

    编程技术 2025年3月8日
    200
  • 源生JS怎样实现todolist功能

    这次给大家带来源生JS怎样实现todolist功能,源生JS实现todolist功能的注意事项有哪些,下面就是实战案例,一起来看一下。 该项目主要可以练习js操控dom,事件,事件触发之间的逻辑关系,以及如何写入缓存,获取缓存。 主要功能:…

    编程技术 2025年3月8日
    200
  • 深入了解vue.js 之watch用法

    本篇文章给大家分享的内容是深入了解vue.js 之watch用法,有着一定的参考价值,有需要的朋友可以参考一下 watch: 观测vue实例上的数据变动,对应一个对象, 键:就是需要监测的那个东西, 值: 1.可以是当键变化时执行的函数,有…

    编程技术 2025年3月8日
    200
  • Immutable.js怎样实现撤销重做效果

    这次给大家带来Immutable.js怎样实现撤销重做效果,Immutable.js实现撤销重做效果的注意事项有哪些,下面就是实战案例,一起来看一下。 浏览器的功能越来越强大,许多原来由其他客户端提供的功能渐渐转移到了前端,前端应用也越来越…

    编程技术 2025年3月8日
    200
  • 使用Node.js做出命令行工具

    这次给大家带来使用Node.js做出命令行工具,使用Node.js做出命令行工具的注意事项有哪些,下面就是实战案例,一起来看一下。 本文介绍了用Node.js写一个简单的命令行工具,分享给大家,具体如下: 操作系统需要为Linux 1. 目…

    编程技术 2025年3月8日
    200
  • 脚本加载后执行JS回调函数的方法

    这次给大家带来脚本加载后执行JS回调函数的方法,脚本加载后执行JS回调函数的注意事项有哪些,下面就是实战案例,一起来看一下。 项目中经常会遇到这样的问题:当某个 js 脚本加载完成后再执行相应任务,但很多朋友可能并不知道怎么判断我们要加载的…

    编程技术 2025年3月8日
    200
  • angularjs中获取单选按钮的方法

    这次给大家带来angularjs中获取单选按钮的方法,angularjs中获取单选按钮的注意事项有哪些,下面就是实战案例,一起来看一下。 在Html页面中,有三个单选按钮,默认选中的是第二个“重要”这个选项,设置ng-checked=&#8…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论