使用$refs给组件赋值时,赋不上去,后面又只有第一次赋值有效,再次赋值无效。报错TypeError: Cannot read properties of null (reading 'setCheckedKeys') at Proxy.eval
修改给树形组件赋值,一直获取不到$refs的树型组件的组件的ref
我是通过组件封装来给子组件的的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)
})
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库