接上一个问题,当今天重写alert和confirm时发现已经有很多之前写好的调用了,现在都给加上await和async着实不太现实了,能不能原来保持不动情况下实现layui的重写
https://ask.csdn.net/questions/7875810

layui.layer.prompt重写原版提示栏
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- CSDN专家-showbo 2023-01-13 10:03关注
不使用浏览器原生的prompt,其他层模拟的对话框无法挂起后续js代码执行,原来改写的prompt,最后直接就return返回值了,并不会等待layui.layer.prompt中yes回调执行设置value的值。
所以要用layui的组件模拟prompt输入,click事件中代码必须要改的,async+await是改动最小的,要不用Promise then方法的话得改成这样
'click #sendMail': function (e, value, row, idnex) { prompt('请输入要发送的邮箱').then(function(mail){ alert(mail) //...其他代码 }) }
或者回调的形式,和then一样改动
function prompt(title,callback) { layui.use(['form', 'layer', 'element'], function () { layui.element.init(); }); layui.layer.prompt({ formType: 2, title, area: ['500px', '150px'], yes: function (index, layero) { let value = layero.find('.layui-layer-input').val(); callback(value);//// layer.close(index) } }) } 'click #sendMail': function (e, value, row, idnex) { prompt('请输入要发送的邮箱',function(mail){ alert(mail) //...其他代码 }); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 我用C语言easyx图形库绘制了一个3d游戏方框透视,但进入游戏时候鼠标准星对准方框边缘 鼠标光标就会弹出来这是啥情况怎样让光标对准绘制的方框点击鼠标不弹出光标好烦这样
- ¥20 用Power Query整合的问题
- ¥20 基于python进行多背包问题的多值编码
- ¥15 相同型号电脑与配置,发现主板有一台貌似缺少了好多元器件似的,会影响稳定性和使用寿命吗?
- ¥15 要求编写稀疏矩阵A的转置矩阵的算法
- ¥15 编写满足以下要求的停车场管理程序,设停车场只有一个可停放n辆车的狭窄通道且只有一个大门可供车辆进出。
- ¥15 C语言:数据子序列基础版
- ¥20 powerbulider 导入excel文件,显示不完整
- ¥15 用keil调试程序保证结果进行led相关闪烁
- ¥15 paddle训练自己的数据loss降不下去