React 美丽的拖放不适用于 Material UI 组件

尼齐尔

我试图通过漂亮的拖放来制作可拖动的 MUI 按钮的水平列表。但这似乎不起作用。

<DragDropContext>我用,<Droppable><Draggable>标签包裹了我的按钮。这是代码。

<DragDropContext>
  <Droppable droppableId="characters">
    {(provided, snapshot) => (
    <Stack
      direction="row"
      spacing="{1}"
      className="characters"
      {...provided.droppableProps}
      ref="{provided.innerRef}"
    >
      {[1, 2, 3, 4, 5, 6, 7, 8, 9].map((x, index) => (
      <Draggable key="{x}" draggableId="{x}" index="{index}">
        {(provided, snapshot) => (
        <button
          variant="contained"
          ref="{provided.innerRef}"
          {...provided.draggableProps}
          {...provided.dragHandleProps}
        >
          {x}
        </button>
        )}
      </Draggable>
      ))}
    </Stack>
    )}
  </Droppable>
</DragDropContext>

https://drive.google.com/file/d/1VprPiCk-we5HVhvYzPPBEFdeHMX39BXC/view?usp=sharing

这是我得到的结果。[不可拖动的按钮列表]

czhang xi

您可以在这个问题中看到,Buttons cannot be used as custom drag handles

所以在你的情况下,你必须在按钮外面放一个 div 。而且,draggableId 应该是string.

<DragDropContext>
  <Droppable droppableId="characters">
    {(provided, snapshot) => (
      <Stack
        direction="row"
        spacing={1}
        className="characters"
        {...provided.droppableProps}
        ref={provided.innerRef}
      >
        {[1, 2, 3, 4, 5, 6, 7, 8].map((x, index) => (
          <Draggable key={x} draggableId={`${x}`} index={index}>
            {(provided, snapshot) => (
              <div
                ref={provided.innerRef}
                {...provided.draggableProps}
                {...provided.dragHandleProps}
              >
                <button variant="contained">{x}</button>
              </div>
            )}
          </Draggable>
        ))}
      </Stack>
    )}
  </Droppable>
</DragDropContext>;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在表单中如何使用Material UI的React评分组件?

React onDragStart在Material UI Autocomplete组件中不触发

无法获取Material-UI的目标属性-选择React组件

React中Material-UI中的可滚动列表组件

Jest快照不适用于某些Semantic-UI-React组件

观察子组件React与Material UI的状态

React Material UI BottomNavigation组件路由问题

在React中设置Material UI的TextField组件的defultValue

如何为Material-UI React组件覆盖@media CSS

React-Apollo + Material-UI:服务器端渲染不适用于Express

javascript中的map函数不适用于React组件

Material-UI React:Paper组件的全局主题覆盖

React:如何从Material-UI TextField组件获取值

将Material-ui React组件居中于页脚元素中

该类不适用于Material UI按钮组件

React Material UI自动完成功能不适用于Formik

使用Material-UI从React中的组件增强

动画的React路由不适用于<Switch>组件

useState不适用于重要的ui功能组件(firebase)

React onChange不适用于功能组件内部的输入

React 主题不适用于子组件

Material UI 组件打破 React 应用程序

React Router ScrollToTop 不适用于 Material UI

CSS 动画不适用于所有 React 组件

如何在本地 React 项目中引用 Material UI 组件

React:CssBaseLine 组件在 Material UI 主题更改后不会更新

React Js ErrorBoundary 仅适用于主要布局组件,不适用于嵌套组件

Material-UI v5 Dialog 退出淡入淡出动画不适用于 React Router

Material ui 工具提示不适用于移动设备