修改給樹形組件賦值,一直獲取不到$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)
})