前言
如图所示,在el-table表格中,使用el-switch组件,想让每个组件在开关的时候都有一个loading效果,也可以是el-button,原理都是类似,下面直接给方案。
错误分析
错误代码如下,可以看见,我给switchLoading
应用到每一个el-switch组件上了,所以每次都是全部组件loading,只要我们给它单独出来就可以搞定。
<el-table-column prop="enable" label="是否启用" width="80" align="center">
<template #default="{ row }">
<el-switch
v-model="row.enable"
active-text="正常"
inactive-text="停用"
inline-prompt
:loading="switchLoading"
style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949"
@change="changeHandle(row)"
/>
</template>
</el-table-column>
//ts
const changeHandle = (row) => {
switchLoading.value =