接收一个vue3项目,突然有一天,table里有个switch开关,请求数据之后就开始执行switch的change事件,我还啥都没操作,就报一推重复请求
<template><el-switch v-model="rec" inline-prompt :active-value="0" :inactive-value="1"active-text="是" inactive-text="否" @change="switchChange(rec)"/>
</template>
<script setup>
import {ref} from 'vue'
const rec = ref(null)
const switchChange = (re)=> {console.log('执行',re)
}
</script>
去网上找了一大推,都说用before-change代替change
后来又去看了其他页面的写法,没有调用
对比了代码发现只要v-model给的初始值跟active-value和inactive-value类型和数据不一致就会调用
const rec = ref(0)修改成这样就不会初始化就执行
修改成一致都没问题,找到问题了又去试了下好了,原来是后端偷偷又把数据改回来了