前端展开收缩的样式控制

文章目录

收缩效果

展开效果

javascript 复制代码
<section :class="`w-full ${arrowDown ? 'h-39px overflow-hidden' : ''}`">
      <!-- 实际选项 -->
      <el-row class="zlc-tag-row">
        <el-col
          v-for="(tag, index) in [defaultOption, ...tagList]" :key="index" class="zlc-tag mr-2 mb-2"
          :class="{ 'zlc-tag__checked': tag.checked }" :title="tag.label" :xs="12" :sm="6" :md="4" :lg="2" :xl="1"
          @click.stop="index === 0 ? handleSelectDefault() : handleSelect(tag)"
        >
          <span class="flex justify-center ">{{ tag.label }}</span>
        </el-col>
      </el-row>
    </section>
    <el-icon :class="`${arrowDown ? 'rotate-fade-reverse' : 'rotate-fade'} cursor-pointer block`">
      <ArrowDownBold @click="arrowDown = !arrowDown" />
    </el-icon>

// js
const arrowDown = ref<boolean>(true)

// CSS动画
.rotate-fade {
  transform: rotate(180deg);
  transition: transform .25s linear;
}

.rotate-fade-reverse {
  transform: rotate(0deg);
  transition: transform .25s linear;
}

重点是通过arrowDown 的值控制显示的高度及隐藏

相关推荐
用户8168694747254 分钟前
深入 useMemo 与 useCallback 的底层实现
前端·react.js
AAA简单玩转程序设计4 分钟前
救命!Java 进阶居然还在考这些“小儿科”?
java·前端
MediaTea12 分钟前
思考与练习(第十章 文件与数据格式化)
java·linux·服务器·前端·javascript
JarvanMo15 分钟前
别用英语和你的大语言模型说话
前端
江公望21 分钟前
Vue3的 nextTick API 5分钟讲清楚
前端·javascript·vue.js
weixin_4462608523 分钟前
深入了解 MDN Web Docs:打造更好的互联网
前端
Codebee30 分钟前
# 🔥A2UI封神!元数据驱动的AI交互新范式,技术人必看
前端·架构
JarvanMo38 分钟前
展望 2030 年:移动开发者的未来将如何?
前端
我的xiaodoujiao39 分钟前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 34--基础知识 9--文件上传功能
前端·python·测试工具·ui·pytest
辛-夷39 分钟前
pinia与Vuex高频面试题
前端·vue.js