vue element-ul实现展开和收起功能的实例代码


Posted in Vue.js onNovember 25, 2020

实现效果如下:

vue element-ul实现展开和收起功能的实例代码

vue element-ul实现展开和收起功能的实例代码

  需求:

由于后台搜索选项有很多,影响页面美观,所以一进来要隐藏一部分搜索项,只保留1行,

点击【展开搜索】按钮的时候才显示全部,点击【收起搜索】按钮又收起部分,保留1行。

需求分析:

由于不太好控制行数,因为不同屏幕尺寸展示的1行的内容并不相同(不考虑移动端),所以考虑用显示高度来控制。

解决思路:

所以这里通过控制搜索区域的高度来实现展开和收起搜索功能。

页面一进来是收起搜索状态,控制搜索区域的高度为120px,超出部分隐藏。

点击展开搜索的时候,调整搜索区域的高度为”auto"

 定义变量:showAll控制状态

代码解析:

<el-button type="text" style="margin-left:10px" id="closeSearchBtn" @click="closeSearch">
     {{word}}
     <i :class="showAll ? 'el-icon-arrow-up ': 'el-icon-arrow-down'"></i>
    </el-button>

当showAll为false的时候,即搜索区域处于收起状态,此时将按钮文字变为“展开搜索”,图标变为向下(el-icon-arrow-down)

当showAll为ture的时候,即搜索区域全部展开了,将按钮文字变成“收起搜索”,图标变成向上(el-icon-arrow-up)

data(){
  return{
   showAll:true;//是否展开全部
 
  }
}
computed: {
  word: function() {
   if (this.showAll == false) {
    //对文字进行处理
    return "展开搜索";
   } else {
    return "收起搜索";
   }
  }
 },

mounted()里调用closeSearch函数,页面一进来将this.showAll设为false,即处于收起状态。所以data里最初给showAll定义的时候设为true.

给搜索区域的ID设为“searchBox”  ,

当showAll为false的时候,设置搜索区域高度为120px,否则高度自动。

mounted() {
  /**
   * 收起搜索
   */
  this.$nextTick(function() {
   this.closeSearch();
  });
 },
 methods:{
  closeSearch() {
   this.showAll = !this.showAll;
   var searchBoxHeght = document.getElementById("searchBox");
   if (this.showAll == false) {
    searchBoxHeght.style.height = 60 + "px";
   } else {
    searchBoxHeght.style.height = "auto";
   }
  }
 }

CSS中关键的设置不要忘记。

#searchBox {
 overflow: hidden;
}

到此这篇关于vue element-ul实现展开和收起功能的实例代码的文章就介绍到这了,更多相关vue element-ul展开和收起内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Vue.js 相关文章推荐
在Vue中使用CSS3实现内容无缝滚动的示例代码
Nov 27 Vue.js
vue中实现点击空白区域关闭弹窗的两种方法
Dec 30 Vue.js
如何在vue中使用HTML 5 拖放API
Jan 14 Vue.js
vue使用过滤器格式化日期
Jan 20 Vue.js
Vue使用Ref跨层级获取组件的步骤
Jan 25 Vue.js
vue 项目@change多个参数传值多个事件的操作
Jan 29 Vue.js
vue-cli4.5.x快速搭建项目
May 30 Vue.js
vue响应式原理与双向数据的深入解析
Jun 04 Vue.js
vue.js Router中嵌套路由的实用示例
Jun 27 Vue.js
vue3引入highlight.js进行代码高亮的方法实例
Apr 08 Vue.js
vue @ ~ 相对路径 路径别名设置方式
Jun 05 Vue.js
vue实现input输入模糊查询的三种方式
Aug 14 Vue.js
在Vue中使用mockjs代码实例
Nov 25 #Vue.js
Vue3配置axios跨域实现过程解析
Nov 25 #Vue.js
Vue使用Element实现增删改查+打包的步骤
Nov 25 #Vue.js
vue + el-form 实现的多层循环表单验证
Nov 25 #Vue.js
vue打开其他项目页面并传入数据详解
Nov 25 #Vue.js
Vue开发中常见的套路和技巧总结
Nov 24 #Vue.js
浅析VUE防抖与节流
Nov 24 #Vue.js
You might like
php实现对象克隆的方法
2015/06/20 PHP
php实现网站顶踩功能的完整前端代码
2015/07/19 PHP
使用ThinkPHP的自动完成实现无限级分类实例详解
2016/09/02 PHP
thinkphp5框架实现数据库读取的数据转换成json格式示例
2019/10/10 PHP
模拟用户操作Input元素,不会触发相应事件
2007/05/11 Javascript
javascript模仿msgbox提示效果代码
2008/06/10 Javascript
使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
2010/05/07 Javascript
jQuery数组处理方法汇总
2011/06/20 Javascript
js Html结构转字符串形式显示代码
2011/11/15 Javascript
JavaScript中几个重要的属性(this、constructor、prototype)介绍
2013/05/19 Javascript
js的alert弹出框出现乱码解决方案
2013/09/02 Javascript
JavaScript中读取和保存文件实例
2014/05/08 Javascript
Nodejs中自定义事件实例
2014/06/20 NodeJs
JavaScript中的Math.atan2()方法使用详解
2015/06/15 Javascript
javascript性能优化之DOM交互操作实例分析
2015/12/12 Javascript
JavaScript焦点事件、鼠标事件和滚轮事件使用详解
2016/01/15 Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
2016/05/24 Javascript
JS判断form内所有表单是否为空的简单实例
2016/09/09 Javascript
微信小程序 location API接口详解及实例代码
2016/10/12 Javascript
详解VueJs前后端分离跨域问题
2017/05/24 Javascript
react-redux中connect()方法详细解析
2017/05/27 Javascript
vue中的面包屑导航组件实例代码
2019/07/01 Javascript
JS实现简单的表格增删
2020/01/16 Javascript
python中getaddrinfo()基本用法实例分析
2015/06/28 Python
使用python实现ANN
2017/12/20 Python
pandas使用之宽表变窄表的实现
2020/04/12 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
2020/05/10 Python
详解python爬取弹幕与数据分析
2020/11/14 Python
植村秀美国官网:Shu Uemura美国
2019/03/19 全球购物
值类型与引用类型有什么不同?请举例说明?并分别列举几种相应的数据类型
2015/10/24 面试题
幼儿教师自我鉴定
2013/11/02 职场文书
医院门卫岗位职责
2013/12/30 职场文书
2015年民主生活会发言材料
2014/12/15 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书
初中班主任工作随笔
2015/08/15 职场文书
小学英语听课心得体会
2016/01/14 职场文书