el-tree关于第一次无论如何操作只要点击“取消”按钮,再次进来保留第一次进去的内容?

el-tree关于第一次无论如何操作只要点击“取消”按钮,再次进来保留第一次进去的内容?
进来只有一个
el-tree关于第一次无论如何操作只要点击“取消”按钮,再次进来保留第一次进去的内容?
当我选择两个
el-tree关于第一次无论如何操作只要点击“取消”按钮,再次进来保留第一次进去的内容?
这时点击取消按钮应该删除我刚才选的两个
el-tree关于第一次无论如何操作只要点击“取消”按钮,再次进来保留第一次进去的内容?

<div class="bi">

<el-tag

v-for="tag in department_list"

:key="tag.value"

:type="tag.type">

<img src="../../assets/images/zuzhi.jpg" width="14px;" height="14px;">

{{ tag.label }}

</el-tag>

</div>

    <el-dialog title="选择部门" :visible.sync="departmentShow2" :close-on-click-modal="false" :show-close="false" width="600px">

<el-row>

<el-col :span="12">

<el-card class="box-card" :body-style="{ height: '460px', overflow: 'auto' }" shadow="never">

<el-input

class="filter-input"

placeholder="输入部门"

v-model="filterText"

size="small"

clearable

>

<i slot="prefix" class="el-input__icon el-icon-search"></i>

</el-input>

<el-tree

ref="tree"

:data="departmentData"

node-key="value"

:default-expanded-keys="e"

:default-checked-keys="e"

:props="departmentProps"

:check-on-click-node="true"

@check-change="getDepart"

:filter-node-method="filterDepart"

:check-strictly="true"

>

<span class="custom-tree-node" slot-scope="{ node, data }">

<span>

<img class="imgleft" src="../../assets/images/zuzhi.jpg" style="width:14px;height:14px;" alt="">

<span v-if="data.is_show === true" style="color: 9D9D9D;">{{ data.label }}</span>

<span v-if="data.is_show === false">{{ data.label }}</span><span

v-if="node.checked"

style="margin-left: 10px;"

class="el-icon-check"

></span>

</span>

</span>

</el-tree>

</el-card>

</el-col>

<el-col :span="12">

<el-card class="box-card" :body-style="{ height: '460px', overflow: 'auto' }" shadow="never">

<div style="text-align: left;">已选部门</div>

<ul class="infinite-list" style="text-align: left;">

<li v-for="item in department_list" :key="item.id">

<img class="organization-img" src="../../assets/images/zuzhi.jpg" style="width:14px;height:14px;" alt="">

<span :class="item.label.length <= 20 ? 'wq' : 'wq01'">{{ item.label }}</span>

<i style="float: right" class="el-icon-close" @click="empClose(item)"></i>

</li>

</ul>

</el-card>

</el-col>

</el-row>

<span slot="footer" class="dialog-footer">

<el-button type="info" plain @click="closeDepart">取消</el-button>

<el-button style="width: 72px;" type="primary" :disabled="disabled" @click="reLoadDepart">确定</el-button>

</span>

</el-dialog>

    closeDepart() {

this.departmentShow2 = false

},

reLoadDepart() {

this.departmentShow2 = false

},


回答:

一般来说这种问题都是深浅拷贝的锅,每次打开 <Dialog> 组件之后,把你要操作的数据深拷贝一份出来去操作,或者每次都查询一下对应的数据,这样后续再操作就不会出现上一次编辑的内容了。

深拷贝简单的可以用 JSON.parse(JSON.stringify(data)),复杂的可以用 lodash.cloneDeep。
或者 structuredClone 这个新的全局API

以上是 el-tree关于第一次无论如何操作只要点击“取消”按钮,再次进来保留第一次进去的内容? 的全部内容, 来源链接: utcz.com/p/933398.html

回到顶部