解决方案是,在弹窗中增加v-if
<el-dialog title="修改" v-if="dialogZYVisible" :visible.sync="dialogZYVisible" class="dialogClass">
<el-tree
ref="selectTree"
class="Treecss"
:data="editableTabs"
node-key="id"
:props="{value: 'id',label: 'groupName', children: 'childList',}"
:show-checkbox="true"
:default-checked-keys="[group_id]"
:default-expanded-keys="expandedkeys"
:check-strictly="true"
:check-on-click-node="true"
@check="handleCheckChange">
</el-tree>
<div slot="footer" class="dialog-footer">
<el-button @click="cancleForm()">取 消</el-button>
<el-button type="primary"
@click="submitForm()">确 定</el-button>
</div>
</el-dialog>
打开弹窗
//修改-打开弹窗的方法
handledb(tbName,gid){
this.group_id="";
this.tbName="";
this.dialogZYVisible = true;
this.group_id=gid;
this.tbName=tbName;
this.$nextTick(() => {
this.$refs.selectTree.setCheckedKeys([""]); //先清空之前选中的节点,再给赋值
this.$refs.selectTree.setCheckedKeys([gid]);
});
this.expandedkeys=[];//先清空之前展开的节点,再赋值
this.expandedkeys.push(gid);
},