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使用vant中的checkbox实现全选功能
Nov 17 Vue.js
Vue 打包的静态文件不能直接运行的原因及解决办法
Nov 19 Vue.js
8个非常实用的Vue自定义指令
Dec 15 Vue.js
vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解
Dec 15 Vue.js
Vue 简单实现前端权限控制的示例
Dec 25 Vue.js
vue实现树状表格效果
Dec 29 Vue.js
Vue 实现可视化拖拽页面编辑器
Feb 01 Vue.js
vue中h5端打开app(判断是安卓还是苹果)
Feb 26 Vue.js
前端vue+express实现文件的上传下载示例
Feb 18 Vue.js
Vue如何清空对象
Mar 03 Vue.js
Vue2.0搭建脚手架
Mar 13 Vue.js
vue使用localStorage持久性存储实现评论列表
Apr 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 开发工具
2006/12/06 PHP
使用TinyButStrong模板引擎来做WEB开发
2007/03/16 PHP
php实现JWT验证的实例教程
2020/11/26 PHP
用javascript关闭本窗口技巧小结
2014/09/05 Javascript
js实现感应鼠标图片透明度变化的方法
2015/02/20 Javascript
jquery结婚电子请柬特效源码分享
2015/08/21 Javascript
js强制把网址设为默认首页
2015/09/29 Javascript
jQuery+php实时获取及响应文本框输入内容的方法
2016/05/24 Javascript
浅谈JavaScript 数据属性和访问器属性
2016/09/01 Javascript
AngularJS bootstrap启动详解及实例代码
2016/09/14 Javascript
jQuery插件FusionCharts实现的2D柱状图效果示例【附demo源码下载】
2017/03/06 Javascript
jquery 键盘事件的使用方法详解
2017/09/13 jQuery
Vue 后台管理类项目兼容IE9+的方法示例
2019/02/20 Javascript
记录一次完整的react hooks实践
2019/03/11 Javascript
jquery实现动态改变css样式的方法分析
2019/05/27 jQuery
处理JavaScript值为undefined的7个小技巧
2020/07/28 Javascript
[03:04]2018年国际邀请赛典藏宝瓶&莱恩声望物品展示 片尾有彩蛋
2018/06/04 DOTA
python将人民币转换大写的脚本代码
2013/02/10 Python
Python检测生僻字的实现方法
2016/10/23 Python
深入理解python中的select模块
2017/04/23 Python
Python中%是什么意思?python中百分号如何使用?
2018/03/20 Python
python中多层嵌套列表的拆分方法
2018/07/02 Python
Mac下Anaconda的安装和使用教程
2018/11/29 Python
Pandas的read_csv函数参数分析详解
2019/07/02 Python
Python SQLAlchemy入门教程(基本用法)
2019/11/11 Python
WxPython实现无边框界面
2019/11/18 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
2020/02/06 Python
Python如何脚本过滤文件中的注释
2020/05/27 Python
令人啧啧称赞的经理推荐信
2013/11/07 职场文书
高中地理教学反思
2014/01/29 职场文书
竞选生活委员演讲稿
2014/04/28 职场文书
禁止高声喧哗的标语
2014/06/11 职场文书
财政专业大学生职业生涯规划书
2014/09/17 职场文书
2014年学生会部门工作总结
2014/11/07 职场文书
职工的安全责任书范文!
2019/07/02 职场文书
MySQL 开窗函数
2022/02/15 MySQL