卿岚 2023-01-12 23:22 采纳率: 76.8%
浏览 30
已结题

layui.layer.prompt重写原版提示栏

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

  • 写回答

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)
                //...其他代码
    
              });
            }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 一把编程的菜刀 2023-01-13 09:23
    关注

    那你只能是在if 判断下面 用alert了

    评论
  • 有问必答小助手 2023-01-13 21:01
    关注
    您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
    PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月13日
  • 已采纳回答 1月13日
  • 创建了问题 1月12日

悬赏问题

  • ¥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降不下去