如何使react-bootstrap模式可拖动

2024-04-02

我尝试过让它发挥作用,但这就是发生的事情。

  1. 使用react-draggable npm 包,我能够使内容可拖动和可放置。但整个对话框的背面保持原位,之后看起来就破碎了。

我也在网上找到了这个https://gist.github.com/burgalon/870a68de68c5ed15c416fab63589d503 https://gist.github.com/burgalon/870a68de68c5ed15c416fab63589d503,

import { Modal } from 'react-bootstrap'
import ModalDialog from 'react-bootstrap/lib/ModalDialog'
import Draggable from 'react-draggable'

class DraggableModalDialog extends React.Component {
    render() {
        return <Draggable handle=".modal-title"><ModalDialog 
{...this.props} /></Draggable>
    }
}

// enforceForce=false causes recursion exception otherwise....
export default ({titleIconClass, modalClass, children, title,...props}) =>
<Modal dialogComponent={DraggableModalDialog} show={true} enforceFocus={false} backdrop="static" {...props}>
    <Modal.Header closeButton>
        <Modal.Title>
            {title}
        </Modal.Title>
    </Modal.Header>
    <Modal.Body>
        {children}
    </Modal.Body>
</Modal>

这段代码是我通过搜索得到的,实际上我无法让它工作。


尤其是这个,

<ModalDialog {...this.props} />

,我不明白为什么要送入道具以及送入什么样的道具。

And

<Modal dialogComponent={DraggableModalDialog} show={true} enforceFocus={false} backdrop="static" {...props}>
"<ModalDialog {...this.props} />"

?

如果这是一部有效的作品,谁能告诉我上述两个问题如何解决?

谢谢你!


对于任何可能仍在使用最新版本的人来说react-bootstrap( 我的是1.0.0-beta.5在写作时)。这是修改后的版本(https://gist.github.com/burgalon/870a68de68c5ed15c416fab63589d503 https://gist.github.com/burgalon/870a68de68c5ed15c416fab63589d503)

import React, { Component } from "react";
import Modal from "react-bootstrap/Modal";
import Draggable from 'react-draggable';
import ModalDialog from 'react-bootstrap/ModalDialog';

class DraggableModalDialog extends React.Component {
    render() {
        return <Draggable handle=".modal-title"><ModalDialog {...this.props} /> 
   </Draggable>
    }
}

export default class BSModal extends Component {

render() {
    return (
        <Modal
                dialogAs={DraggableModalDialog} 
                show={this.props.show} 
                onHide={this.props.close}>
            <Modal.Header>
                <Modal.Title>{this.props.title}</Modal.Title>
            </Modal.Header>
            <Modal.Body>
                {this.props.children}
            </Modal.Body>
            <Modal.Footer >
            </Modal.Footer>
        </Modal>
    );
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使react-bootstrap模式可拖动 的相关文章

随机推荐

  • 什么是热点?

    我刚刚听说过 HotSpot JVM 而不是 Oracle JRockik JVM 什么是热点 这是旧的 Sun JVM 还是其他什么 HotSpot 是附带的 Sun JVM 它支持频繁使用的代码部分的即时编译 出于所有实际目的 它是 S
  • 如何从消息机器人中删除“Powered by ManyChat”页脚

    我正在为消息平台开发一个聊天机器人 但我发现自己对用户文本输入字段的页脚上出现的 ManyChat 感到着迷 我已成为该页面的管理员 并继续从该页面的已连接应用程序列表中删除许多聊天 但页脚仍然存在 也许我必须调用 Messenger 平台
  • 是否可以验证html5中input=file的大小和类型

    我正在读这个http dev w3 org html5 markup input file html http dev w3 org html5 markup input file html 但我只找到了 accept 属性 我试过这个
  • Python:检查对象是否是序列

    在 python 中 有没有一种简单的方法来判断某些东西是否不是序列 我尝试这样做 if x is not sequence但Python不喜欢那样 iter x 将提出一个TypeError if x不能迭代 但该检查 接受 集合和字典
  • 获取我的应用程序的当前 dot net 版本

    如何获取我的 asp net 应用程序的正在运行的 dot net 版本 我尝试了这里的解决方案 有没有一种简单的方法来检查 NET Framework 版本 https stackoverflow com questions 951856
  • 如何解决 HttpURLConnection 上的 NullPointerException?

    我正在开发一个Android应用程序 使用ExoPlayer进行视频播放 使用Glide进行图像显示 使用下载库进行文件下载 它们都有与HttpURLConnection相关的NullPointerException 我确信使用的链接是可用
  • Java中的BlockingQueue是完全线程安全的吗

    我知道文档说该对象是线程安全的 但这是否意味着从所有方法对它的所有访问都是线程安全的 所以如果我打电话put 同时从多个线程上进行操作take 在同一时刻 不会有什么不好的事情发生吗 我问这个问题是因为这个答案让我再次猜测 https st
  • SQL:使用 FOR XML 每个元素一行

    我有一个 SQL Server 2005 查询 它生成一个大结果集 最多几 GB SELECT FROM Product FOR XML PATH Product 运行查询会生成一行 其中包含具有许多产品元素的文档 Row 1
  • 基于角色在GridView中显示编辑按钮

    我有一个网格视图 我添加了AutoGenerateEditButton True 我想向属于特定角色的用户显示该按钮 如果不是 则不会呈现按钮 你有什么建议吗 我必须处理哪个事件才能实现该目的 我是否必须使用模板驱动的控件 例如 ListV
  • 如何将 csv 文件导入到使用 R 内核的 Google Colab 中?

    我的计算机上有一个 csv 文件 可以将其上传到 Google 云端硬盘 我正在尝试使用 Google colab 但使用 R 而不是 Python 我怎样才能导入这个csv https stackoverflow com a 579272
  • 在scala中如何将一个案例类转换为另一个不受代码更改字段添加影响的案例类?

    case class Cat color Int isFat Boolean case class Kitten color Int isFat Boolean 我想从 Cat 构造 Kitten 但希望在不传递所有参数的情况下自动执行此操
  • 如何通过 github api 获取热门 github 存储库列表?

    我想要获取像这样的 github 趋势存储库列表 https github com trending l java https github com trending l java但我没有找到任何类似的请求方法https developer
  • 将日期从波斯语转换为公历

    如何使用 System globalization PersianCalendar 将波斯日期转换为公历日期 请注意 我想转换我的波斯日期 例如今天是 1391 04 07 并获得公历日期结果 在本例中为 06 27 2012 我正在数秒等
  • 在 Emacs 中设置选项卡大小

    我使用 Emacs 作为编辑器 我想将制表符大小设置为四个空格 在我的 emacs文件我有以下内容 setq default tab width 4 我也尝试过 set default tab width 4 不管怎样 当我打开 emacs
  • 在本机应用程序和网站之间共享凭据

    我正在开发的一个应用程序允许用户登录支持 OAuth 的后端 因此 应用程序仅了解身份验证令牌和用户元数据 而不了解用户的凭据 在应用程序中 用户可以点击在浏览器中打开链接的链接 这些资源也受到 OAuth 的保护 登录原生应用时获得的 t
  • 在哪里可以找到 Apache Lucene/Solr 的性能基准

    是否有任何针对大型数据集上 Lucene Solr 性能基准的链接 资源 500GB 5TB以上范围的数据集 Thanks Lucene 提交者 Mike McCandless 运行基准 http people apache org mik
  • Stackoverflow 使用本地存储进行授权似乎不安全。这是正确的,否则我们如何加强它?

    我一直在研究类似于 stackexchange 的身份验证和授权模块 现在我确信他们使用某种模型的 oAuth 或令牌生成服务器来授权使用他们的各个站点 我尝试了一个小实验 登录 Stackoverflow 后 我会从开发者控制台删除所有
  • 不同屏幕尺寸下的android布局

    尝试了解屏幕尺寸 以便我的应用程序在不同设备上看起来相同 我有两台设备 Galaxy s3 和 Galaxy Tab 8 两者的屏幕分辨率相同 均为 720 x 1280 但 s3 为 4 7 英寸 而 Tab 为 8 英寸 当我进行线性布
  • UNION 类型“...”和“...”无法匹配

    当我运行下面的查询时 我收到此错误 UNION 类型 text 和 bigint 无法匹配 SELECT 1 AS STEP AS ProviderName AS Procedurecode Claimid Patient First Na
  • 如何使react-bootstrap模式可拖动

    我尝试过让它发挥作用 但这就是发生的事情 使用react draggable npm 包 我能够使内容可拖动和可放置 但整个对话框的背面保持原位 之后看起来就破碎了 我也在网上找到了这个https gist github com burga