级连菜单全选后取消某个选中 页面抖动跳动 如何解决 给出具体代码
时间: 2024-03-06 18:51:15 浏览: 39
下面给出一个简单的示例代码,演示如何通过使用异步更新状态的方式来避免级连菜单全选后取消某个选中导致的页面抖动跳动问题。
```html
<template>
<el-cascader
v-model="selectedOptions"
:options="options"
:props="props"
:show-all-levels="false"
@change="handleChange"
></el-cascader>
</template>
<script>
export default {
data() {
return {
options: [
{
value: 'zhinan',
label: '指南',
children: [
{
value: 'shejiyuanze',
label: '设计原则',
children: [
{
value: 'yizhi',
label: '一致'
},
{
value: 'fankui',
label: '反馈'
}
]
}
]
}
],
props: {
value: 'value',
label: 'label',
children: 'children'
},
selectedOptions: []
};
},
methods: {
async handleChange(value) {
// 使用 setTimeout 模拟异步更新状态
await new Promise(resolve => setTimeout(resolve, 0));
this.selectedOptions = value;
}
}
};
</script>
```
在上述代码中,我们通过使用 `setTimeout` 来模拟异步更新状态的方式,将计算选项状态的过程放到下一个事件循环中执行,从而避免在同一个事件循环中多次更新状态,导致页面抖动跳动的问题。
你可以根据自己的实际情况,将上述代码进行调整和优化。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)