项目需要el-select下拉框做判断,一开始做的时候发现点击下拉框事件时值已经改变了,就算点取消也不能阻止值的改变,只能监听v-model的值来进行判断赋值。
下面是效果图
代码
<template>
<div>
<el-select @change="analysischange" v-model="analysiss">
<el-option
v-for="item in analysis"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-select
>
</div>
</template>
<script>
export default {
data() {
return {
analysis: [
{
value: "1分析",
label: "1分析",
},
{
value: "2分析",
label: "2分析",
},
{
value: "3分析",
label: "3分析",
},
],
analysiss: "1分析",
olval: "", //输入框一开始的数据
};
},
watch: {
// 监听输入框内容
analysiss(val, olval) {
console.log(val, olval, "监听");
this.olval = olval;
},
},
methods: {
// 对比分析下拉框
analysischange(val) {
this.$confirm("切换分析类型后系统将清空当前分析结果, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.$message({
type: "success",
message: "切换成功!",
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消切换",
});
//将监听到的旧值赋给点击的值
this.analysiss = this.olval;
});
console.log(val, "对比分析下拉框");
},
},
mounted() {
},
};
</script>
<style scoped>
</style>
如果有什么问题欢迎来指正,这篇文章发的我也是心累,非说文章高度相似,要指明是转载的,我看了一下高度相似的文章,一点也不相似啊,神马问题真的是,浪费我的时间,我还要在这边写这些希望能降低一下所谓的相似度,不行的话我就要搞转载的,可是我也没转载别人的啊。