el-select 选中后二次确认弹窗~

1.需求:在el-select下拉选择的时候,当我们更换选项时需要弹出二次确认弹窗。

2.思路:利用el-select中change事件,通过watch监听数据变换,定义一个初始状态,当点击弹窗中确认时设置成功,点击取消时,将将监听到的旧值赋给点击的值。

3.代码:

 <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;
        });
    },

猜你喜欢

转载自blog.csdn.net/lovecoding1/article/details/127861329