小编Atm*_*aks的帖子

简单的树视图与react-dnd

我正在尝试创建一个由react-dndframework(?)启用DnD的简单树视图React组件。我尝试了react-sortable-tree,但是由于我现在不记得的原因放弃了它(必须对其进行自定义,但是代码对我来说太复杂了)。到目前为止,我有两个主要组件:树节点本身和包含两个div的的drop overlay,用于在之前和之后进行删除。该节点的编码如下:

class Node extends Component {
    ....

    render() {
        const {
            data,
            depth,
            is_group,
            connectDragSource
        } = this.props;
        ...
        for (let kid_id of kids)
                childElements.push(
                    <ConnectedQuestionNode
                        id={kid_id}
                        is_group={areChildrenGroups}
                        depth={depth + 1}
                        key={kid_id}
                    />);
         return (
            <Fragment>
                {connectDragSource(<div
                    className="tree-row"
                    style = {{ left: treeBlockIndent * depth + 'px' }}
                >
                    {prefix}
                    <div className="tree-row-title">
                        {data.title}
                    </div>
                    <DropOverlay
                        id={data.id}
                        nodeIsGroup={is_group}
                        nodeHasSubgroups={hasSubgroups}
                        moveActionCreator={moveQuestion}
                        moveGroupActionCreator={moveQuestionGroup}
                        nodeItemType={ItemTypes.QUESTION_NODE}
                    />
                </div>)}
                {childElements}
            </Fragment>
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

之后,将其connect编入ConnectedQuestionNode(此处不相关)。这里是 …

treeview reactjs react-dnd

6
推荐指数
0
解决办法
874
查看次数

Django 中不寻常的 setdefault

这是Django 的身份验证模型(UserManager) 中的一段代码:

def create_superuser(self, username, email, password, **extra_fields):
    extra_fields.setdefault('is_staff', True)
    extra_fields.setdefault('is_superuser', True)

    if extra_fields.get('is_staff') is not True:
        raise ValueError('Superuser must have is_staff=True.')
    if extra_fields.get('is_superuser') is not True:
        raise ValueError('Superuser must have is_superuser=True.')

    return self._create_user(username, email, password, **extra_fields)
Run Code Online (Sandbox Code Playgroud)

为什么要设置一个键值对并在之后立即检查它?在什么情况下会满足这些条件?

python django dictionary

1
推荐指数
1
解决办法
305
查看次数

标签 统计

dictionary ×1

django ×1

python ×1

react-dnd ×1

reactjs ×1

treeview ×1