1. 程式人生 > >記一次解決layui 的bug - layer.open 與 layui渲染問題

記一次解決layui 的bug - layer.open 與 layui渲染問題

style template con 一個表 one play display 方法 hid

場景是這樣的,通過layer打開一個彈窗,裏面放置一個表單,表單是用layui來渲染的。

當彈窗完成之後,我需要渲染表單中的一些內容、譬如laydate。

layer.open({
        type: 1,
        title: "新增產品系列",
        content: $("#add_div").html(),
        btn: [‘保存‘, ‘取消‘],
        success: function (layero, index) {
            laydate.render({
                elem: ‘#date‘
            });
        }
});

表單的模板如下:

<div id="add_div" class="hide">
    ...
</div>

然而發現各種各樣的問題。尤其是laydate,後來才發現,這是因為渲染了兩次導致的。

頁面的div雖然隱藏了,但終究還是渲染了。而layer.open的時候又渲染出了一套。導致沖突,解決方法是將模板改為script即可

<script type="text/template" id="add_div">
   // ...
</script>

記一次解決layui 的bug - layer.open 與 layui渲染問題