卿岚 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)
                //...其他代码
    
              });
            }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加
  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测