01 使用 Variants

使用 variant 设置两个状态,点击时在两个状态中生成动画。

2020-02-06 20.51.43.gif

  1. export function rotate(): Override {
  2. // 在两个状态中切换,触发函数为 cycle(),动画为 animate
  3. const [animate, cycle] = useCycle("rotated", "untated")
  4. return {
  5. // 设置状态(可包含多个属性)
  6. variants: {
  7. rotated: {
  8. rotate: 0,
  9. scale: 1,
  10. borderRadius: 8,
  11. },
  12. untated: {
  13. rotate: 90,
  14. scale: 1.2,
  15. borderRadius: 20,
  16. },
  17. },
  18. // 动画
  19. animate: animate,
  20. // 点击时激活动画
  21. onTap() {
  22. cycle()
  23. },
  24. }
  25. }

02 不使用 Variants

若值包含单一参数,则可不使用 variants。

2020-02-06 21.01.29.gif

// 不使用 variants
export function scale(): Override {
    const [scale, cycle] = useCycle(1, 1.5)
    return {
        // 动画
        animate: { scale: scale },
        // 点击时激活动画
        onTap() {
            cycle()
        },
    }
}