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 25 Vue.js
Vue3配置axios跨域实现过程解析
Nov 25 Vue.js
在vue项目中封装echarts的步骤
Dec 25 Vue.js
基于vuex实现购物车功能
Jan 10 Vue.js
如何在Vue项目中添加接口监听遮罩
Jan 25 Vue.js
Vite和Vue CLI的优劣
Jan 30 Vue.js
浅谈vue2的$refs在vue3组合式API中的替代方法
Apr 18 Vue.js
如何理解Vue简单状态管理之store模式
May 15 Vue.js
vue实现同时设置多个倒计时
May 20 Vue.js
详解Vue中$props、$attrs和$listeners的使用方法
Feb 18 Vue.js
vue组件冲突之引用另一个组件出现组件不显示的问题
Apr 13 Vue.js
vue里使用create, mounted调用方法
Apr 26 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中计算中文字符串长度、截取中文字符串的函数代码
2011/08/09 PHP
php 抽象类的简单应用
2011/09/06 PHP
PHP中设置时区方法小结
2012/06/03 PHP
一个显示效果非常不错的PHP错误、异常处理类
2014/03/21 PHP
PHP实现的博客欢迎提示功能(很特别哦)
2014/06/05 PHP
php解析json数据实例
2014/08/19 PHP
PHP比你想象的好得多
2014/11/27 PHP
php去除二维数组的重复项方法
2015/11/03 PHP
使用一个for循环将N*N的二维数组的所有值置1实现方法
2017/05/29 PHP
jQuery使用after()方法在元素后面添加多项内容的方法
2015/03/26 Javascript
JavaScript操作DOM元素的childNodes和children区别
2015/04/01 Javascript
jQuery实现图片走马灯效果的原理分析
2016/01/16 Javascript
5个最顶级jQuery图表类库插件【jquery插件库】
2016/05/05 Javascript
JavaScript中的prototype原型学习指南
2016/05/09 Javascript
Nodejs搭建wss服务器教程
2017/05/24 NodeJs
Vue单文件组件的如何使用方式介绍
2017/07/28 Javascript
nodejs 图片预览和上传的示例代码
2017/09/30 NodeJs
JS求Number类型数组中最大元素方法
2018/04/08 Javascript
NodeJs 文件系统操作模块fs使用方法详解
2018/11/26 NodeJs
Vue 引入AMap高德地图的实现代码
2019/04/29 Javascript
vue 弹窗时 监听手机返回键关闭弹窗功能(页面不跳转)
2019/05/10 Javascript
javascript实现一款好看的秒表计时器
2020/09/05 Javascript
微信小程序实现点击页面出现文字
2020/09/21 Javascript
Python外星人入侵游戏编程完整版
2020/03/30 Python
在Python中执行系统命令的方法示例详解
2017/09/14 Python
Python中defaultdict与lambda表达式用法实例小结
2018/04/09 Python
np.newaxis 实现为 numpy.ndarray(多维数组)增加一个轴
2019/11/30 Python
python中实现栈的三种方法
2020/12/19 Python
高尔夫球鞋、服装、手套和装备:FootJoy
2018/12/15 全球购物
平安建设实施方案
2014/03/19 职场文书
个人授权委托书范本
2014/09/14 职场文书
初中学习计划书范文
2014/09/15 职场文书
运动会致辞稿
2015/07/29 职场文书
2019年共青团工作条例最新版
2019/11/12 职场文书
python状态机transitions库详解
2021/06/02 Python
Python正则表达式中flags参数的实例详解
2022/04/01 Python