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 组件注册
Nov 20 Vue.js
vue实现滚动鼠标滚轮切换页面
Dec 13 Vue.js
Vue实现一种简单的无限循环滚动动画的示例
Jan 10 Vue.js
Vue 数据响应式相关总结
Jan 28 Vue.js
vue3如何优雅的实现移动端登录注册模块
Mar 29 Vue.js
vue backtop组件的实现完整代码
Apr 07 Vue.js
vue3引入highlight.js进行代码高亮的方法实例
Apr 08 Vue.js
vue配置型表格基于el-table拓展之table-plus组件
Apr 12 Vue.js
vue组件冲突之引用另一个组件出现组件不显示的问题
Apr 13 Vue.js
vue实现省市区联动 element-china-area-data插件
Apr 22 Vue.js
vue 把二维或多维数组转一维数组
Apr 24 Vue.js
Vue3实现简易音乐播放器组件
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
Session服务器配置指南与使用经验的深入解析
2013/06/17 PHP
php+redis实现注册、删除、编辑、分页、登录、关注等功能示例
2017/02/15 PHP
php 截取中英文混合字符串的方法
2018/05/31 PHP
js 为label标签和div标签赋值的方法
2013/08/08 Javascript
JS网页图片按比例自适应缩放实现方法
2014/01/15 Javascript
JavaScript动态改变HTML页面元素例如添加或删除
2014/08/10 Javascript
JavaScript实现为指定对象添加多个事件处理程序的方法
2015/04/17 Javascript
Javascript将数值转换为金额格式(分隔千分位和自动增加小数点)
2016/06/22 Javascript
深入理解AngularJS中的ng-bind-html指令
2017/03/27 Javascript
JSON字符串操作移除空串更改key/value的介绍
2019/01/05 Javascript
python+django快速实现文件上传
2016/10/24 Python
python清理子进程机制剖析
2017/11/23 Python
Python 中包/模块的 `import` 操作代码
2019/04/22 Python
python读文件的步骤
2019/10/08 Python
python可视化实现KNN算法
2019/10/16 Python
Python装饰器使用你可能不知道的几种姿势
2019/10/25 Python
Python字典常见操作实例小结【定义、添加、删除、遍历】
2019/10/25 Python
Python django搭建layui提交表单,表格,图标的实例
2019/11/18 Python
Python中格式化字符串的四种实现
2020/05/26 Python
新手常见Python错误及异常解决处理方案
2020/06/18 Python
Python 串口通信的实现
2020/09/29 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
2020/10/15 Python
美国眼镜网站:EyeBuyDirect
2017/04/13 全球购物
美国班级戒指、帽子和礼服、毕业产品、年鉴:Balfour
2018/11/01 全球购物
丽笙酒店官方网站:Radisson Hotels
2019/05/07 全球购物
莫斯科隐形眼镜网上商店:Linzi
2019/07/22 全球购物
Jacadi Paris英国官网:法国童装品牌
2019/08/09 全球购物
屈臣氏俄罗斯在线商店:Watsons俄罗斯
2020/08/03 全球购物
几个Shell Script面试题
2014/04/18 面试题
师德师风演讲稿
2014/05/05 职场文书
中职招生先进个人材料
2014/08/31 职场文书
民主生活会批评与自我批评总结
2014/10/17 职场文书
财务稽核岗位职责
2015/04/13 职场文书
闪闪红星观后感
2015/06/08 职场文书
2015年度工程师评职称工作总结
2015/10/14 职场文书
mysql的Buffer Pool存储及原理
2022/04/02 MySQL