微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[备忘]记一次fastadmin关于btn-dialog跳转问题,点击确定按钮不是弹出框而是跳转页面的问题

解决方法在最后。

故事背景:

这是一次挖坑踩坑经历!

测试人员说:“哎老铁,你的功能有问题哎,你看一下。”

我:“好的”。

放下手里的事情打开浏览器,输入本地地址看看,发现:“没问题啊!”

测试一脸追命表情:“有问题啊!不信自己看!”

我(内心开始着急):“嗯!等会儿看。”

自己测了一会儿,没问题,然后去测试环境看,没问题,摸着下巴自言自语:“奇了怪了!没问题啊!”

过了几分钟,确实发现了会出现这个问题。问题是重现了,但问题的原因就是找不到!

遂,看自己优雅的代码,读框架源码,打断点,删除测试服务器代码重新pull!

自言自语:“没问题啊!我艹”。

已经很着急了!(急性子  0 0)。

根据上面的方法,最后定位到问题,是因为点击按钮的时候,框架对于确定按钮的submit事件还未绑定完成。

再经过几轮测试,发现要过一会儿,不要着急页面一刷新就点击确定,等框架把表单事件绑定完之后就没问题。

这时开始有了初步解决方案:“在点击按钮之前给他加个disabled类,这个类在CRUD生成页面中也有同样代码。嗯~~~ 这样做。”

开始感觉问题要解决了!心态开始平稳,心率开始正常。

按照方案并且实施,解决问题!~

 

吐槽:

第一次正式使用FastAdmin来开发后台,我的评价是,对于中小且不复杂的项目来说,好处很多,只要你开始投入使用,那不好的地方也会接踵而来,有的是对框架不熟悉导致挖了坑,

有的是文档用错挖了坑,有的是社区回答的不对或者没回答到点上,然后照着做也挖了坑!有的是框架功能本身存在不友好的地方,稍不注意就犯错挖坑。

这些坑都得开发人员自己填。随着功能越做越多,坑也越来越多,因为不可能一开始都把所有功能都做好,都是先做好一部分功能,先使用,后续再补充或者修改部分不合理或不好用功能

按照这个模式总结就是,它的优点就这么多,缺点随着时间推移也越来越多(相对于优点还是要少很多)。

要改的地方很多,因为生成功能,很多是用不着的,例如:快速搜索,我说留着,偶尔用得着,产品非要删除。其它搜索项,不要的也都删掉,这些其实都是工作量。框架可以把它做成配置的。

吐槽举例:

  • 社区不活跃,有问题没法即时解决,很多问题都是几年前的,而且框架更新后,那些问题根本不适用,有些连参考价值都没有。
  • 扩展性不好,如果不写原生代码,框架的扩展就那些,还是不够。
  • 有的功能文档没有,只有自己写原生代码,跟框架混合使用,也会遇到问题。
  • 貌似有些问题要收费来着?这一点没有花太多时间去关注。
  • 开发过程中发现一些不友好的点,就像控制器列表的js里面使用自定义按钮,貌似js方法要和控制器方法一致,不然会有问题,我后来改成一致就可以了。
  • btn-dialog自定义界面的代码还不能随意修改,举个例子,
    <button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>

    这个代码是确定按钮,其中的disabled还不能随便删除,框架绑定表单事件结束之前,点击按钮的提交方式是submit的认提交,也就是同步提交,而不是我期望的异步提交。
    出现这个问题的现象就是,本地看到的是异步,线上看到的是同步提交。本地开发环境没有问题,到了测试环境就暴露出来了,就觉得好奇怪,同一套代码,换个环境就出问题了。
    最后得出结论就是开发环境由于是本地,加载js很快,测试环境配置不高,带宽也不大,公司网络也不好,我还是用的流量来测,所以就造成了框架的事件绑定还没执行完,
    就点击了确定按钮,也就是btn-dialog弹出层跳转的问题

注:以上问题,只要是刚接触框架,不分年龄和开发经验,遇到的概率很大,有经验的开发可以比较快的解决,要是小白就惨了。

列一下编辑页面我们可以随便动的区域:

注意:除了红框标记的区域(可以增减),其它的都不要动!特别是刚接触FastAdmin的人,无论是否是新手!此建议很重要

 

最后再总结一下,要解决FastAdmin关于btn-dialog是跳转而不是弹出框的问题,就是不要把确定按钮的disabled类属性删除

这次算是给自己之前迷之自信加深记忆吧!随手一删,自信满满,回头一看,惊喜炸弹。

 

最后的最后,希望FastAdmin团队越来越好,框架越来越好用。

 

 

END

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐