当前位置: 首页 > 面试题库 >

显示了React Bootstrap的触发模式

司寇星海
2023-03-14
问题内容

http://react-bootstrap.github.io/components.html#modals-我正在寻找一种方法来查找“ shown.bs.modal”而不是“
show.bs.modal”的触发事件。

我没有看到有关某些引导方式事件的任何文档: http
//getbootstrap.com/javascript/#modals-
events
    var NewPerson = React.createClass({

      getInitialState: function(){
        return { showModal: false };
      },

      componentDidMount: function() {
        // removed irrelevant code
      },

      close: function(){
        this.setState({ showModal: false });
      },

      open: function(){
        this.setState({ showModal: true });
      },

      submit: function(e) {
        // removed irrelevant code
      },
      render: function() {
        var Button = ReactBootstrap.Button;
        var ButtonInput = ReactBootstrap.ButtonInput;
        var Modal = ReactBootstrap.Modal;

        return (
          <div>
            <Button
              className="pull-right bottom-20"
              bsStyle='success'
              bsSize='large'
              onClick={this.open}
            >
              Create New Person
            </Button>

            <Modal id="new-person-modal" show={this.state.showModal} onHide={this.close}>
              <Modal.Header closeButton>
                <Modal.Title>Create a New Person!</Modal.Title>
              </Modal.Header>
              <Modal.Body>
                <form id="new-person-form" onSubmit={this.submit} accept-charset="UTF-8" method="POST" novalidate="novalidate">
                  <div className="row">
                    <div className="form-group col-md-12">
                      <input type="text" className="form-control" id="author" name="author" ref="author" placeholder="Author (First + Last)" required />
                    </div>
                  </div>
                  <ButtonInput
                    type="submit"
                    value="Submit"
                    bsStyle="success"
                    bsSize="large"
                    onSubmit={this.submit}
                    disabled={this.state.disabled} />
                </form>
              </Modal.Body>
            </Modal>
          </div>
        );
      }
    });

    React.render(<NewPerson url="/person" />, document.getElementById('person-new'));

我什至试图通过仅在jQuery中进行修改来破解它,这也无法正常工作。

    <script type="text/javascript">
    $(document).ready(function() {
      $('#new-person-modal').on('shown.bs.modal', function (e) {
        console.log('modal displayed');
        // now can execute dynamic JS
      });
    });
    </script>

任何想法如何触发“显示”事件?我也没有在react-bootstrap源代码中找到任何东西。


问题答案:

有一种正确的方法:使用onEntered事件。

<Modal
  onEntered  = { function(){ console.log( "Modal is Shown" ) }}
>

当显示模态的过渡完成时,将调用此事件。

共有6个转换触发器:

    <Modal
      onExit     = { function(){ console.log( "onExit    " ) }}
      onExiting  = { function(){ console.log( "onExiting " ) }}
      onExited   = { function(){ console.log( "onExited  " ) }}

      onEnter    = { function(){ console.log( "onEnter   " ) }}
      onEntering = { function(){ console.log( "onEntering" ) }}
      onEntered  = { function(){ console.log( "onEntered " ) }}
    >

他们的工作如下:

    onEnter     = Callback fired before the Modal transitions in

    onEntering  = Callback fired as the Modal begins to transition in    

    onEntered   = Callback fired after the Modal finishes transitioning in


    onExit      = Callback fired right before the Modal transitions out

    onExiting   = Callback fired as the Modal begins to transition out

    onExited    = Callback fired after the Modal finishes transitioning out

在撰写本文时,此解决方案尚未记录。我正在提交请求请求,因此希望他们会尽快更新文档。



 类似资料:
  • 我试图在我的应用程序中实现FCM,但我有一个问题。每当我发送通知时,它只显示默认通知,而不是调用自定义代码。我做错了什么? 这些是服务:

  • 我已经编写了一个程序,允许我输入业务或个人联系人,然后能够查看他们。我为不同类型的联系人使用了子类。当我查看联系人时,我希望能够看到他们是商务还是私人,但还没有找到正确的方法。我已经包括了一段代码,显示了我是如何输入它们的,以及我调用什么来查看它们的。 因此,现在当我查看一个我添加的联系人时,我看到的是名字、姓氏、地址、电子邮件、电话,然后取决于联系人的类型—出生日期(个人)或职位和组织(业务)。

  • 显示模式 返回上级 关于显示模式 测定支持的显示模式 设置显示模式 恢复显示模式 Mode X和Mode 13显示模式 对高分辨率和真彩色的支持 关于显示模式 返回目录 显示模式指的是显示器的当前设置,描述了显示器的分辨率和位深度,这个信息通常是由显示硬件从主页面传递给显示器的。显示模式是由三个特征定义的:宽、高、位深度。例如,大多数的显示器可以显示宽为640像素、高为480像素的图象,每一个像素

  • 我有一些带有Quarkus的java Web应用程序。并且它可以完美地使用runner.jar文件。但是当我使用Quarkus: dev模式时,它没有显示静态内容(只有白色背景)。而且那很奇怪,因为REST Services可以正常工作。而且是的我在编译源代码时将所有Web资源复制到main/Resources/META-INF中。

  • 问题内容: 我有一个模型: save()-方法被触发,但delete()没有被触发。 问题答案: 我认为你可能正在使用管理员的批量删除功能,并且遇到了管理员的批量删除方法未调用的事实。 我过去通过编写用于删除模型的自定义admin操作来解决此问题。 如果你没有使用管理员的批量删除方法(例如,你单击对象的编辑页面上的删除按钮),则说明正在进行其他操作。 请在此处查看警告: 出于效率考虑,使用“删除选

  • 问题内容: 我正在尝试使用AngularJS bootstrap.ui显示模式对话框。当我执行$ modal.open(…)时,屏幕变灰,并且我的templateUrl中的html从服务器调用,但是没有模式显示。当我单击灰色区域时,模态“关闭”,即灰色区域消失,屏幕再次看起来正常。我无法弄清楚为什么看不到任何模态屏幕。 我正在尝试遵循本教程: Angular指令 我正在使用Visual Studi