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 elementUI 使用el-select 时 change事件的触发问题
Nov 17 Vue.js
Vue 实现一个简单的鼠标拖拽滚动效果插件
Dec 10 Vue.js
Vue-router中hash模式与history模式的区别详解
Dec 15 Vue.js
Vue 修改网站图标的方法
Dec 31 Vue.js
vue中父子组件的参数传递和应用示例
Jan 04 Vue.js
Vue中引入svg图标的两种方式
Jan 14 Vue.js
Vue实现图书管理案例
Jan 20 Vue.js
vue3.0 项目搭建和使用流程
Mar 04 Vue.js
vue实现无缝轮播效果(跑马灯)
May 14 Vue.js
关于Vue中的options选项
Mar 22 Vue.js
Vue中使用import进行路由懒加载的原理分析
Apr 01 Vue.js
el-table-column 内容不自动换行的解决方法
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
十大催泪虐心动漫电影,有几部你还没看
2020/03/04 日漫
php date()日期时间函数详解
2010/05/16 PHP
高质量PHP代码的50个实用技巧必备(下)
2016/01/22 PHP
YII Framework框架教程之国际化实现方法
2016/03/14 PHP
php文件上传类完整实例
2016/05/14 PHP
encode脚本和normal脚本混用的问题与解决方法
2007/03/08 Javascript
Jquery CheckBox全选方法代码附js checkbox全选反选代码
2010/06/09 Javascript
juqery 学习之三 选择器 简单 内容
2010/11/25 Javascript
Javascript this 的一些学习总结
2012/08/31 Javascript
jQuery+JSON+jPlayer实现QQ空间音乐查询功能示例
2013/06/17 Javascript
javascript事件函数中获得事件源的两种不错方法
2014/03/17 Javascript
使用C++为node.js写扩展模块
2015/04/22 Javascript
自己动手写的javascript前端等待控件
2015/10/30 Javascript
微信小程序开发之toast等弹框提示使用教程
2017/06/08 Javascript
JavaScript基于面向对象实现的猜拳游戏
2018/01/03 Javascript
Vue.use源码学习小结
2018/06/20 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
2018/08/22 Javascript
vue实现div拖拽互换位置
2020/07/29 Javascript
vuejs简单验证码功能完整示例
2019/01/08 Javascript
js实现一个页面多个倒计时的3种方法
2019/02/25 Javascript
微信小程序代码上传、审核发布小程序
2019/05/18 Javascript
vue 中的 render 函数作用详解
2020/02/28 Javascript
[00:15]TI9地铁玩家打卡
2019/08/11 DOTA
通过数据库对Django进行删除字段和删除模型的操作
2015/07/21 Python
Linux下为不同版本python安装第三方库
2016/08/31 Python
python的paramiko模块实现远程控制和传输示例
2017/10/13 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
python os模块常用的29种方法使用详解
2020/06/02 Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
2020/06/23 Python
瑞士香水购物网站:Parfumcity.ch
2017/01/14 全球购物
俄罗斯电子产品在线商店:UltraTrade
2020/01/30 全球购物
人事行政经理岗位职责
2014/06/18 职场文书
邻里守望志愿服务活动方案
2014/08/15 职场文书
说好普通话圆梦你我他演讲稿
2014/09/21 职场文书
食堂采购员岗位职责
2015/04/03 职场文书
python实现求纯色彩图像的边框
2021/04/08 Python