Files
layui/docs/layer/examples/btnasync.md
morning-star 3fea273de6 feat(layer): 新增 btnAsync 选项 (#2002)
* feat(layer): 新增 btnAsync 选项

* docs(layer): 添加 btnAsync 文档

* docs(layer): 添加 btnAsync 示例

* refactor: 删除按钮回调中的 loading 参数

* feat(layer): beforeEnd 回调新增第三个参数

* docs(layer): 更新文档

* docs: 优化 btnAsync 选项文档细节

* chore: 优化细节及增加注释

---------

Co-authored-by: 贤心 <3277200+sentsim@users.noreply.github.com>
2024-06-12 22:21:24 +08:00

2.7 KiB

alert confirm msg open prompt(不支持)

<script> layui.use(function () { var $ = layui.$ var util = layui.util; var sleep = function (time) { return $.Deferred(function (defer) { setTimeout(function () { defer.resolve(); }, time) }) } var enableBtnAsync = true; util.on({ bs_alert: function () { layer.alert('对话框内容', { btnAsync: enableBtnAsync, }, function (index, layero, that) { var defer = $.Deferred(); that.loading(true); sleep(1000).then(defer.resolve); return defer.promise(); }); }, bs_confirm: function () { layer.confirm('一个询问框的示例?', { btnAsync: enableBtnAsync, btn: ['确定', '关闭'] //按钮 }, function (index, layero, that) { var defer = $.Deferred(); that.loading(true); sleep(1000).then(defer.resolve); return defer.promise(); }); }, bs_msg: function () { layer.msg('第二个回调', { btnAsync: enableBtnAsync, time: 20000, // 20s 后自动关闭 btn: ['明白了', '知道了'], btn1: function (index, layero, that) { var defer = $.Deferred(); that.loading(true); sleep(1000).then(defer.resolve); return defer.promise(); } }); }, bs_open: function () { layer.open({ btnAsync: enableBtnAsync, type: 1, area: ['500px', '300px'], btn: ['确定', '关闭'], btn1: function (index, layero, that) { var defer = $.Deferred(); that.loading(true); sleep(1000).then(defer.resolve); return defer.promise(); }, btn2: function (index, layero, that) { var defer = $.Deferred(); that.loading(true); sleep(1000).then(defer.resolve); return defer.promise(); } }) }, // 不支持 btnAsync bs_prompt: function () { layer.prompt({ formType: 2, value: '初始值', title: '请输入值', area: ['500px', '300px'] // 自定义文本域宽高 }, function (value, index, elem) { alert(value); layer.close(index); }); } }) }); </script>