1. Requisitos: Ao selecionar no menu suspenso el-select, uma segunda janela pop-up de confirmação precisa aparecer quando alteramos as opções.
2. Ideia: usar o evento change em el-select, monitorar a transformação de dados por meio do relógio e definir um estado inicial. Ao clicar para confirmar na janela pop-up, a configuração é bem-sucedida. Ao clicar para cancelar, o antigo valor monitorado será atribuído ao valor clicado.
3. Código:
<el-select v-model="tab_id" placeholder="请选择" @change="tabidChange">
<el-option v-for="item in tabList" :key="item.id" :label="item.title" :value="item.id"> </el-option>
</el-select>
watch: {
tab_id(val,oldval){
console.log(val,oldval,"监听");
this.oldval = oldval
}
},
tabidChange(val){
let tab_titel = this.tabList.find((res)=>{
return res.id == val
})
this.$confirm(`确认将「${tab_titel.title}」频道页面设置成得到首页?`, "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.$message({
type: "success",
message: "设置成功!",
});
})
.catch(() => {
this.$message({
type: "error",
message: "已取消设置",
});
//将监听到的旧值赋给点击的值
this.tab_id = this.oldval;
});
},