transition+lodash实现炫酷样式

该文章展示了如何在Vue.js应用中利用lodash库的shuffle方法打乱数组元素顺序,并结合transition-group组件创建一个简单的动画效果。代码示例中,点击按钮会随机重排显示1到9的数字方块,方块的过渡效果由CSS定义。
摘要由CSDN通过智能技术生成

先看效果:

 实现代码:

<template>
    <div class="">
        <button @click="random">random</button>
        <transition-group move-class="move_sty" class="wraps" tag="div">
            <div class="items" :key="item.id" v-for="item in list">{{ item.number }}</div>
        </transition-group>
    </div>
</template>

<script setup lang='ts'>
import _ from 'lodash'
import { ref } from "vue"

let list = ref(Array.apply(null, { length: 81 } as number[]).map((_, index) => {
    return {
        id: index,
        number: (index % 9) + 1
    }
}))
console.log(list.value);
const random = () => {
    list.value = _.shuffle(list.value)
}

</script>

<style lang="less" scoped>
.wraps {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    width: calc(30px * 9);

    .items {
        width: 30px;
        height: 30px;
        border: 1px solid #ccc;
        display: flex;
        justify-content: center;
        align-items: center;
    }
}

.move_sty {
    transition: all 1.5s;
}
</style>

备注:其中lodash需要自己安装,地址:https://www.lodashjs.com/docs/lodash.shuffle#_shufflecollection

_.shuffle() 将数组打乱排列

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五分钱嘀Love

一起学习,一起努力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值