使用$refs给组件赋值时,赋不上去,后面又只有第一次赋值有效,再次赋值无效。报错TypeError: Cannot read properties of null (reading 'setCheckedKeys') at Proxy.eval

修改给树形组件赋值,一直获取不到$refs的树型组件的组件的ref

image

我是通过组件封装来给子组件的的el-tree组件来赋值

 <page-dialog 
      ref="pageDialog" 
      :dialogFormItems="dialogFormItems" 
      :otherInfo='otherInfo'
      width='40%' 
      :title='title'
      pageName="role"
    >

     <el-tree
      ref="roleTree"
      :data="menusList"
      show-checkbox
      node-key="id"
      :props="{children: 'children', label: 'name'}"
      @check="check"
    />

    </page-dialog>

然后通过this.$refs.roleTree.setCheckedKeys(treeChildren, false)进行赋值

一直赋不上去。

然后我就通过this.$nextTick( () => {}来包裹赋值

第一次打开弹窗是可以赋值上去的,我关掉再次打开就又赋不上去了,一直百度找不到,我又想思考nextTick的原理,然后去看自己的代码,发现我在弹窗设置为true之前对el-tree进行了赋值,所以,只有第一次有效,再次打开无效。

this.$refs.pageDialog.formData = row
        this.$refs.pageDialog.dialogFormVisible = true
        this.$nextTick( () => {
          this.$refs.roleTree.setCheckedKeys(treeChildren, false)
        })
posted @   嘿!那个姑娘  阅读(6405)  评论(0编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示