bootstrap 模态窗modal共同导致冲突的问题

我们公司有一个比较老的项目,前端组件是用的bootstrap的组件库,form表单的弹窗都是用的bootsrap提供的模态窗。
但是我们不是一个模块功能就新建一个modal,都是公用的一个公共的modal。部分代码如下:
在index.html中有一个modal

<div id="remoteModal" class="modal fade" tabindex="-1" role="dialog"
         aria-labelledby="remoteModalLabel" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
            </div>
        </div>
    </div>

在其他模块使用:


image.png

我们项目这样写,其实是在点击按钮的瞬间弹窗已经显示出来了。
然后有一个需求时这样的:
页面有修改和管理两个按钮;
点击管理按钮如果身份是0,就要去请求接口,根据接口返回的数据确定,如果返回数据true就弹表单窗口,如果返回false就报错。
点击修改按钮,直接展示修改按钮。
如果按照以上写法,直接写两个operation,比如:


image.png

onManage 方法:正常的逻辑就是判断角色身份,然后去请求,页面做出动作响应。
onEdit:直接弹窗
这样实际两个modal会冲突,混乱,乱显示。还会出现多层遮罩。
因为modal不会等你请求借口后显示,会直接弹窗。
知道了这个问题,那么我们就应该知道,Manage的表安弹窗不应该由管理按钮来触发

想到这里就很简单了,我们可以创建一个隐藏按钮,用来触发管理modal,然后用管理按钮去手动触发隐藏按钮的事件。
代码如下:


image.png

image.png

问题顺利解决!!
其实遇到问题不要慌,先复现问题,定位到问题,然后找到问题出现的原因,知道原因了,那么找解决这个问题的方法就很简单了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 15,923评论 4 61
  • 1 初识Reactive Stream 反应式流 2015 年反应式流 (Reactive Stream) 规范诞...
    JavaEdge阅读 4,636评论 0 0
  • 壹 “牙痛不是病,痛起要人命”,爷爷牙痛,有好几天没有吃饭了。去上学前给爷爷端了点糖水,爷爷说不渴,也就没有...
    刘万焦阅读 554评论 0 0
  • 温州张强
    杨柳依依_1a0d阅读 220评论 0 0
  • 虽然你上课也记笔记,考前也会突击, 但你唯独没有去审视自己的人生, 你只是用笔头的勤奋代替思考的懒惰, 你的努力只...
    杜健就是本人啦阅读 177评论 0 1

友情链接更多精彩内容