被Layui坑过的那些天之TreeSelect
我tm服了 ,今天select check功能不管用了。看了下源码如下:
/** * 选中节点,因为tree是异步加载,所以必须在success回调中调用checkNode函数,否则无法获取生成的DOM元素 * @param filter lay-filter属性 * @param id 选中的id */ TreeSelect.prototype.checkNode = function (filter, id) { var o = obj.filter(filter), treeInput = o.find('.layui-select-title input'), treeObj = obj.treeObj(filter), node = treeObj.getNodeByParam("id", id, null), name = node.name; treeInput.val(name); o.find('a[treenode_a]').removeClass('curSelectedNode'); treeObj.selectNode(node); };
它位于treeselect.js 是layui的重要组成部分,看注释可以知道,
<div class="layui-block"> <label class="layui-form-label">具体地址</label> <div class="layui-input-block"> <div id="addressDetail"> <input id="dizhi" type="text" name="dizhi" lay-verify="" autocomplete="off" placeholder="请输入具体地址" class="layui-input"> @*<dl id="addressTip" class="addressDl"></dl>*@ </div> </div> </div> </div>
var treeSelect = layui.treeSelect; treeSelect.render({ elem: '#areas', data: apiUrl + "/api/Base_Region/GetRegionAndChildrenListTreeAsync", type: 'GET', placeholder: '地址', search: true, click: function (d) { $("#area").val(d.current.id); var parmas = { url: "/api/Base_Region/GetItem?id=" + d.current.id, type: 'POST' }; interaction(parmas).then(data => { $("#dizhi").val(data); layer.msg("已选择" + data, { icon: 1, time: 2000 }, function () { }); }).catch(err => { }); }, success: function (d) { bindInfo(); } });
var mc_util = youyaboot_all; var identify = mc_util.getParameter('id')//从url中检测主键 function bindInfo() { // alert(identify); if (identify != null && identify != '') { var parmas = { url: "/api/Sys_Organization/GetItem?id=" + identify, type: 'POST' }; interaction(parmas).then(data => { if (data.pic != "") { $("#imgBtn").attr("src", apiUrl + data.pic); } pca.init('select[name=province]', 'select[name=city]', 'select[name=area]', data.province, data.city,data.area); mc_util.mappingEntityToFormUiValue($("body"), data); form.render(); treeSelect.checkNode('tree2', data.parentid); treeSelect.checkNode('tree3', data.area); }).catch(err => { console.log(err); }); } else { $("#parentid").val(mc_util.getParameter('parentid')); pca.init('select[name=province]', 'select[name=city]', 'select[name=area]'); if (mc_util.getParameter('parentid') != 0) { treeSelect.checkNode('tree2', mc_util.getParameter('parentid')); treeSelect.checkNode('tree3', data.area); } } }

浙公网安备 33010602011771号