You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dnd-kit拖拽组件释放时过渡动画失效问题求助

拖拽结束时Draggable项无过渡动画问题

我正在开发一个简易测验,包含4个可放置(droppable)区域和4个可拖拽(draggable)项,测验目标是将所有项移至正确顺序或对应的可放置区域。目前拖拽交换功能正常(例如将item 1移至droppable 3时,droppable 1会显示item 3,droppable 3显示item 1),但存在一个问题:拖拽结束时可拖拽项没有任何过渡动画。我已按以下方式实现过渡效果:

draggable/index.tsx

import { useDraggable } from '@dnd-kit/core';
import { CSS } from '@dnd-kit/utilities';
import clsx from 'clsx';
import React, { ReactNode } from 'react';

import s from './draggable.module.scss';

type TProps = {
   children: ReactNode;
   id: string;
};

export const Draggable = ({ id, children }: TProps) => {
   const { attributes, listeners, setNodeRef, transform, isDragging } = useDraggable({
      id,
   });
   const style = {
      ...{ transition: 'transform 250ms ease' },
      ...(transform ? { transform: CSS.Translate.toString(transform) } : {}),
      ...(isDragging ? { transition: 'none' } : {}),
   };

   return (
      <button
         ref={setNodeRef}
         className={clsx(s.wrapper, isDragging && s.dragging)}
         style={style}
         {...listeners}
         {...attributes}
      >
         {children}
      </button>
   );
};

内容的提问来源于stack exchange,提问作者Lvasche

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 20:42:35