当前位置:   article > 正文

Vue3 内容展开收起动画过渡效果_vue3收缩展开动画插件

vue3收缩展开动画插件

内容css

  overflow: hidden;
  transition: height 0.3s;
  height: 0;
  • 1
  • 2
  • 3

计算内容高度

const collapseHeight = ref<number[]>([]); // 内容高度
const contentRef = ref(); // 内容ref实例对象
watchEffect(
  () => {
    const len = sectionList.value.length;
    if (len) {
      getCollapseHeight(len); // 获取各个面板内容高度
    }
  },
  { flush: 'post' }
);
const getCollapseHeight = (len: number) => {
  for (let n = 0; n < len; n++) {
    collapseHeight.value.push(contentRef.value[n].offsetHeight);
  }
};
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

内容dom(item.expand 展开用内容高度,收起变为0)

   <div
        class="内容css"
        :style="`height: ${item.expand ? collapseHeight[index] : 0}px;}`"
   >
  • 1
  • 2
  • 3
  • 4

参考链接
Vue3折叠面板(Collapse)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/76829
推荐阅读
相关标签
  

闽ICP备14008679号