码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • vue可展开/收缩搜索条件且支持自适应功能


    需求描述

    有个搜索栏,总共有7个搜索条件(可想象为7个input输入框)支持搜索条件的展开与收缩,在A分辨率下,默认显示2个,隐藏5个。B分辨率下默认显示3个,隐藏4个。点击展开时则全部显示,点击收缩则回到默认状态

    预期的效果

    代码实现

    1. <script>
    2. export default {
    3. name: 'AdvSearch',
    4. data() {
    5. return {
    6. isSmall: false,
    7. forceHidden: true,
    8. }
    9. },
    10. computed: {
    11. spanSize() {
    12. if (this.isSmall) {
    13. return 8
    14. } else {
    15. return 6
    16. }
    17. },
    18. },
    19. mounted() {
    20. console.log(this.$children[0].$children)
    21. const smallMedia = window.matchMedia('(max-width: 1600px)')
    22. this.listenerSmallMedia(smallMedia)
    23. smallMedia.addEventListener('change', this.listenerSmallMedia)
    24. },
    25. methods: {
    26. listenerSmallMedia(smallMedia) {
    27. console.log('listenerSmallMedia')
    28. if (smallMedia.matches) {
    29. this.isSmall = true
    30. } else {
    31. this.isSmall = false
    32. }
    33. },
    34. needShow(idx) {
    35. if (!this.forceHidden || (!this.isSmall && idx < 4)) {
    36. // 如果不是强制隐藏 或 (不是小分辨率且当前项的索引号小于4)则显示
    37. return true
    38. } else {
    39. // 其他情况都隐藏
    40. return false
    41. }
    42. },
    43. },
    44. }
    45. script>
    46. <template>
    47. <div>
    48. <h3>是否小分辨率:{{ isSmall }}h3>
    49. <el-row :gutter="20">
    50. <el-col ref="col" :span="spanSize">
    51. <div class="grid-content bg-purple">条件1div>
    52. el-col>
    53. <el-col ref="col" :span="spanSize">
    54. <div class="grid-content bg-purple">条件2div>
    55. el-col>
    56. <el-col v-if="needShow(3)" ref="col" :span="spanSize">
    57. <div class="grid-content bg-purple">条件3div>
    58. el-col>
    59. <el-col v-if="needShow(4)" ref="col" :span="spanSize">
    60. <div class="grid-content bg-purple">条件4div>
    61. el-col>
    62. <el-col v-if="needShow(5)" ref="col" :span="spanSize">
    63. <div class="grid-content bg-purple">条件5div>
    64. el-col>
    65. <el-col v-if="needShow(6)" ref="col" :span="spanSize">
    66. <div class="grid-content bg-purple">条件6div>
    67. el-col>
    68. <el-col v-if="needShow(7)" ref="col" :span="spanSize">
    69. <div class="grid-content bg-purple">条件7div>
    70. el-col>
    71. <el-col ref="col" :span="spanSize">
    72. <div class="grid-content bg-purple">
    73. <el-button @click="forceHidden = false">展开el-button>
    74. <el-button @click="forceHidden = true">收缩el-button>
    75. div>
    76. el-col>
    77. el-row>
    78. div>
    79. template>
    80. <style lang="scss" scoped>
    81. .el-row {
    82. margin-bottom: 20px;
    83. &:last-child {
    84. margin-bottom: 0;
    85. }
    86. }
    87. .el-col {
    88. border-radius: 4px;
    89. }
    90. .bg-purple-dark {
    91. background: #99a9bf;
    92. }
    93. .bg-purple {
    94. background: #d3dce6;
    95. }
    96. .bg-purple-light {
    97. background: #e5e9f2;
    98. }
    99. .grid-content {
    100. border-radius: 4px;
    101. min-height: 36px;
    102. margin-bottom: 20px;
    103. }
    104. .row-bg {
    105. padding: 10px 0;
    106. background-color: #f9fafc;
    107. }
    108. .forceHide {
    109. display: none;
    110. }
    111. style>
  • 相关阅读:
    JavaScript系列从入门到精通系列第十四篇:JavaScript中函数的简介以及函数的声明方式以及函数的调用
    漏洞复现-CVE-2022-1388命令执行F5 BIG-IP iControl REST
    java-net-php-python-MES生产线控制系统计算机毕业设计程序
    JavaWeb(一)
    【Java盲点攻克】「数值浮点数精度系列」Double与Float的坑与解决办法以及BigDecimal的取而代之!
    柔性数组(C语言)
    使用Fillder的一点总结
    iOS开发Swift-11-正向传值,搜索,反向传值,城市id获取天气,光标聚焦,拦截空白/空格字符-和风天气App次页代码
    xmind梳理测试点,根据这些测试点去写测试用例
    Leetcode 118 杨辉三角
  • 原文地址:https://blog.csdn.net/sinat_17775997/article/details/126336202
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号