Welcome

首页 / 脚本样式 / JavaScript / 使用LayUI的第三方组件treeSelect,checkNode选中节点, 报错:Cannot read property ‘getNodeByParam‘ of null

之前使用treeSelect组件的时候没有发现问题,然后js一模一样复制过来,竟然报错:

Cannot read property 'getNodeByParam' of null

我检查了n多遍,然后又改了n多次引入,变量定义,还是不行,处于崩溃的边缘。后来才发现,页面定义input的时候,下面加了一个hiddren类型的input框,错误代码如下:

就是这个hidden类型input框影响的。

我是如何发现是这个问题的呢,我找到这个组件的下载地址:https://gitee.com/wujiawei0926/treeselect(码云),看他的Issues,最后发现如下图:

这也为以后遇到问题,找到一个思路。


具体实现时不能像如下方式:

<div class="layui-form-item">
 <label class="layui-form-label required">所属部门</label>
 <div class="layui-input-block">

   <input type="text" name="partname" id="partname" lay-verify="required" lay-reqtext="" placeholder="请选择部门"  value="" class="layui-input">

   <input type="text" name="partid" id="partid" lay-verify="required" lay-reqtext="" placeholder="请选择部门"  value="" class="layui-input">

 </div>
</div>

正确使用方式:

<div class="layui-form-item">
 <label class="layui-form-label required">部门ID</label>
 <div class="layui-input-block">
   <input type="text" name="partid" id="partid" lay-verify="required" lay-reqtext="" placeholder="请选择部门"  value="" class="layui-input">
 </div>
</div>
<div class="layui-form-item">
 <label class="layui-form-label required">所属部门</label>
 <div class="layui-input-block">
   <input type="text" name="partname" id="partname" lay-verify="required" lay-reqtext="" placeholder="请选择部门"  value="" class="layui-input">
 </div>
</div>