首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在保持可拖孩子的反应的同时,从父母那里移除拖放-漂亮的-dnd

在保持可拖孩子的反应的同时,从父母那里移除拖放-漂亮的-dnd
EN

Stack Overflow用户
提问于 2019-04-25 15:45:25
回答 1查看 1.6K关注 0票数 0

我有列里面有物品。目前,根据我从react-beautiful-dnd复制的代码,列和项都是可拖动的,而且运行良好,但我不希望这些列是可拖的。

如果我删除了<Draggable/>组件,React就会因为将函数作为子函数而感到不安。我试过很多其他的东西,没有任何运气。有关于如何从此组件中删除列拖动功能的建议吗?

代码语言:javascript
复制
// @flow
import React from 'react';
import PropTypes from 'prop-types';
import styled from 'react-emotion';
import { Draggable } from 'react-beautiful-dnd';
import { grid, colors, borderRadius } from './dnd/constants';
import PlayerList from './dnd/player-list';
import Title from './dnd/title';

const Container = styled('div')`
  margin: ${grid}px;
`;

const Header = styled('div')`
  display: flex;
  align-items: center;
  justify-content: center;
  border-top-left-radius: ${borderRadius}px;
  border-top-right-radius: ${borderRadius}px;
  background-color: ${({ isDragging }) => (isDragging ? colors.blue.lighter : colors.blue.light)};
  transition: background-color 0.1s ease;

  &:hover {
    background-color: ${colors.blue.lighter};
  }
`;

const Column = ({ title, players, index }) => (
  <Draggable draggableId={title} index={index}>
    {(provided, snapshot) => (
      <Container innerRef={provided.innerRef} {...provided.draggableProps}>
        <Header isDragging={snapshot.isDragging}>
          <Title
            isDragging={snapshot.isDragging}
            {...provided.dragHandleProps}
          >
            {title}
          </Title>
        </Header>
        <PlayerList
          listId={title}
          players={players}
        />
      </Container>
    )}
  </Draggable>
);

Column.propTypes = {
  title: PropTypes.string.isRequired,
  players: PropTypes.arrayOf(PropTypes.shape({})).isRequired,
  index: PropTypes.number.isRequired,
};

export default Column;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-26 03:19:45

  1. DraggableColumn中完全删除
代码语言:javascript
复制
const Column = ({ title, players, index }) => (
 <Container>
   <Header isDragging={false}>
     <Title isDragging={false}>
        {title}
     </Title>
  </Header>
  <PlayerList
     listId={title}
     players={players}
   />
</Container>
);
  1. 您可能希望删除包装所有DroppableColumns。这很可能是在Board组件中,您在这里没有包含它。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55853123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档