如何结合 aurelia-materialize-bridge 和 sweetalert2

停止

我想在弹出窗口中放置一个表单。
我找到了一个解决方案,但我正在寻找更清洁的东西。

我没有找到用 swal 弹出现有标签的方法。
所以我在我的模板中创建了一个隐藏的表单:

<div id="myHiddenForm"><form role="form">
    <md-input class="email" md-type="email" md-label="Email" md-validate="true" 
        md-validate-error="invalid email">
        <i md-prefix class="material-icons">account_circle</i>
    </md-input>
    <button type="submit" md-button>
        <i class="left material-icons">done</i>Submit
    </button>
</form></div>

然后我用它的innerHTML 创建了弹出窗口。

swal({
  html: document.getElementById('myHiddenForm').innerHTML,
  showConfirmButton: false,
}).catch(swal.noop);

然后我可以将回调附加到提交按钮,这最终有效。

显然,我无法使用,md-value.bind因为显示的表单是原始表单的副本。
我可以访问输入的值,使用document.querySelectorAll('#myHiddenForm .email input')[0].value但我想知道是否有更好的方法来做到这一点?

也许有一个很好的方法来结合 aurelia-materialize-bridge 和 sweetalert2。

我知道有一个模态组件,但它无法将焦点保持在模态弹出窗口内;另外,我已经在这个 web 应用程序的其他地方使用了swal2,因为,你知道,它太棒了

停止

经过大量测试和完整阅读sweetalert2文档后,我找到了处理此问题的正确方法。我们只需要移动<form>节点。

swal({
  html: '<span></span>'
  , showCloseButton: true
  , showConfirmButton: false
  , onBeforeOpen: dom => swal.getContent()
        .appendChild(document.querySelectorAll('#myHiddenForm form'))
  , onClose: dom => document.getElementById('myHiddenForm')
        .appendChild(swal.getContent().querySelectorAll('form'))
}).catch(swal.noop);

它非常适合与 aurelia 一起使用,因为它保留了所有内容(监视器、事件、验证...)。
我们甚至不需要像我一样手动绑定提交按钮,我们可以使用aurelia通常的方式。

结论:RTFM!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使Aurelia-Materialize-Bridge与Aurelia 1.0一起使用

来自分类Dev

Aurelia Kendo Bridge 和 Aurelia .Net Core Spa 项目

来自分类Dev

使用 aurelia-syncfusion-bridge 和 aurelia-cli 时如何只加载一个组件

来自分类Dev

JQuery 包引用了一个不存在的主文件?Aurelia、CLI、Materialize-Bridge

来自分类Dev

使用angular和sweetalert2的剑道网格删除方法

来自分类Dev

如何使用 ReactJs 和 Materialize 渲染网格?

来自分类Dev

Sweetalert2:如何将textarea放入ajax请求

来自分类Dev

如何在SweetAlert2中使用v-for

来自分类Dev

如何在sweetalert2中显示变量

来自分类Dev

如何将 Datepicker 带到 SweetAlert2 的前面?

来自分类Dev

如何在sweetalert2中隐藏按钮的边框

来自分类Dev

如何检索发送回 SweetAlert2 Ajax 调用的数据?

来自分类Dev

将 Google Firebase 应用部署与 Aurelia 结合使用,您如何仅设置和部署打包的资产?

来自分类Dev

如何设置Materialize侧面导航的高度和位置?

来自分类Dev

我如何使整个确认按钮成为Laravel控制器中sweetalert2中的链接

来自分类Dev

如何在sweetalert2打开后添加计时器?

来自分类Dev

如何让水豚镀铬无头打开sweetalert2模态进行Rspec测试

来自分类Dev

如何在 angular 6 项目中使用来自 sweetalert2 的 InputValidator?

来自分类Dev

如何在 PHP 中使用 SweetAlert2 做一个删除确认框?

来自分类Dev

如何从按钮中删除类并在sweetalert2中添加自定义类?

来自分类Dev

使用 SweetAlert2,我如何使用 Toast 警报在单独的行中获取标题和文本?

来自分类Dev

如何结合m2e和e(fx)剪辑?

来自分类Dev

如何将Retrofit 2与Realm和RxJava结合

来自分类Dev

如何结合 Scene2d 和 Bullet?

来自分类Dev

带Typescript的通知Aurelia-KendoUI-bridge

来自分类Dev

如何使用aurelia-validate和对象属性进行验证?

来自分类Dev

toastr.js如何在Aurelia和Typescript中工作?

来自分类Dev

如何使用Aurelia的Router定义和渲染子菜单

来自分类Dev

如何使用Aurelia CLI安装和配置Syncfusion JavaScript?

Related 相关文章

  1. 1

    使Aurelia-Materialize-Bridge与Aurelia 1.0一起使用

  2. 2

    Aurelia Kendo Bridge 和 Aurelia .Net Core Spa 项目

  3. 3

    使用 aurelia-syncfusion-bridge 和 aurelia-cli 时如何只加载一个组件

  4. 4

    JQuery 包引用了一个不存在的主文件?Aurelia、CLI、Materialize-Bridge

  5. 5

    使用angular和sweetalert2的剑道网格删除方法

  6. 6

    如何使用 ReactJs 和 Materialize 渲染网格?

  7. 7

    Sweetalert2:如何将textarea放入ajax请求

  8. 8

    如何在SweetAlert2中使用v-for

  9. 9

    如何在sweetalert2中显示变量

  10. 10

    如何将 Datepicker 带到 SweetAlert2 的前面?

  11. 11

    如何在sweetalert2中隐藏按钮的边框

  12. 12

    如何检索发送回 SweetAlert2 Ajax 调用的数据?

  13. 13

    将 Google Firebase 应用部署与 Aurelia 结合使用,您如何仅设置和部署打包的资产?

  14. 14

    如何设置Materialize侧面导航的高度和位置?

  15. 15

    我如何使整个确认按钮成为Laravel控制器中sweetalert2中的链接

  16. 16

    如何在sweetalert2打开后添加计时器?

  17. 17

    如何让水豚镀铬无头打开sweetalert2模态进行Rspec测试

  18. 18

    如何在 angular 6 项目中使用来自 sweetalert2 的 InputValidator?

  19. 19

    如何在 PHP 中使用 SweetAlert2 做一个删除确认框?

  20. 20

    如何从按钮中删除类并在sweetalert2中添加自定义类?

  21. 21

    使用 SweetAlert2,我如何使用 Toast 警报在单独的行中获取标题和文本?

  22. 22

    如何结合m2e和e(fx)剪辑?

  23. 23

    如何将Retrofit 2与Realm和RxJava结合

  24. 24

    如何结合 Scene2d 和 Bullet?

  25. 25

    带Typescript的通知Aurelia-KendoUI-bridge

  26. 26

    如何使用aurelia-validate和对象属性进行验证?

  27. 27

    toastr.js如何在Aurelia和Typescript中工作?

  28. 28

    如何使用Aurelia的Router定义和渲染子菜单

  29. 29

    如何使用Aurelia CLI安装和配置Syncfusion JavaScript?

热门标签

归档