前言:
? ? ? ?記錄在修改bug時遇到的一些奇怪問題。
? ? ? ? 遇到的奇怪問題1:
? ? ? ? ? ? ? ? 項目中引入了 layui,而且也使用了 layui.use 按需導入了需要的組件,但是在頁面每次剛初始化的時候去使用layui,控制臺都會報 組件未定義的問題(正常打印layui是可以打印的,但是調用layui.layer或layui.form會報錯)。所以在請求接口前,在ready函數里面重新使用layui.use()方法導入form組件
? ? ? ? 奇怪問題2:
? ? ? ? ? ? ? ? 在沒有使用layui.use("form",function(){})導入組件的時候,頁面上select的樣式是原生樣式,layui樣式不會生效。
正文:(select 的使用方式)
<select id="zdName" lay-filter="zdFilter"><option value="">全部</option>
</select>
$(document).ready(function(){layui.use('form',function(){let form = layui.form;//獲取部門departListFun()})
})
//獲取部門數據接口
function departListFun() {$.ajax({url: rootPath + '/department/listDepartmentAll',type: 'get',dataType: 'json',success:function(data){if (data.length > 0) {let zdDom = document.getElementById("zdName")for(let i = 0; i < data.length; i++){let option = new Option(data[i].name,data[i].name)zdDom.add(option)}layui.form.render('select')//事件綁定layui.form.on("select(zdFilter)",function(data){// 重新獲取數據depart = data.value//走接口畫柱狀圖getDataByDepart()//下面柱狀圖進行聯動getDataByType()})}}})
}
layui.form.render("select") 一定一定一定不能忘記!!!?
form.on("select(filter)",callback)
? ? ? ? select 為選擇框事件固定名稱
? ? ? ? filter 為選擇框元素對應的 lay-filter 屬性值
?
? ? ? ?