当前位置: 首页 > wzjs >正文

嘉兴外贸网站建设play商店

嘉兴外贸网站建设,play商店,电商网站设计系列,网站备案申请书在开发表单类功能时,我们经常需要对用户的重要操作进行确认提示,以避免误操作导致的数据丢失或错误。本文将通过一个实际案例,介绍如何在 Vue 中实现下拉框值改变前的确认提示,并在用户取消操作时还原原始值。 场景描述 在项目中…

在开发表单类功能时,我们经常需要对用户的重要操作进行确认提示,以避免误操作导致的数据丢失或错误。本文将通过一个实际案例,介绍如何在 Vue 中实现下拉框值改变前的确认提示,并在用户取消操作时还原原始值。

场景描述

在项目中,我们有一个表单,其中包含一个下拉框(el-select),用户可以选择不同的类型。由于切换类型是一个重要的操作,可能会导致页面上其他数据的清空或改变,因此我们需要在用户切换类型时弹出确认提示框。如果用户确认切换,则提交新值并清空相关数据;如果用户取消切换,则保留原始值,下拉框显示不变。

实现思路

为了实现这一功能,我们需要解决以下两个关键问题:

  1. 获取下拉框改变前的值:在 el-selectchange 事件中,我们可以通过 this.$refs 获取到改变前的值。

  2. 根据用户的选择决定是否更新值:通过 this.$confirm 提示用户,根据用户的确认或取消操作,决定是否更新下拉框的值。

代码实现

以下是完整的代码实现,包括 HTML 结构和 JavaScript 逻辑。

HTML 部分

<template><el-row type="flex" justify="space-between"><el-col :span="11"><el-form-item label="名称" prop="name"><el-inputmaxlength="50"show-word-limitv-model="dialogForm.name"clearable:disabled="isViewDialog"></el-input></el-form-item></el-col><el-col :span="11"><el-form-item label="类型" prop="type"><el-selectstyle="width: 100%"ref="typeRef"@change="changeType"v-model="dialogForm.type"size="small"><el-optionv-for="item in typelist":key="item.value":label="item.label":value="item.value"></el-option></el-select></el-form-item></el-col></el-row><el-row type="flex" justify="space-between"><el-col :span="11"><el-form-item label="添加方式" prop="way"><el-input v-model="dialogForm.way" clearable></el-input></el-form-item></el-col><el-col :span="11"><el-form-item label="添加时间" prop="time"><el-date-pickerstyle="width: 100%"v-model="dialogForm.time"type="datetime"placeholder="选择日期时间"></el-date-picker></el-form-item></el-col></el-row>
</template>

JavaScript 部分

export default {data() {return {dialogForm: {name: "",type: null,way: "",time: null,},typelist: [{ value: 1, label: "类型一" },{ value: 2, label: "类型二" },{ value: 3, label: "类型三" },{ value: 4, label: "类型四" },],isViewDialog: false,};},methods: {changeType(newVal) {const preValue = this.$refs.typeRef.value; // 获取改变前的值console.log(newVal, preValue, "类型改变");this.$confirm("切换类型将清空当前页面添加方式和添加时间数据,是否继续切换?","提示",{confirmButtonText: "确定",cancelButtonText: "取消",type: "warning",}).then(() => {// 用户确认切换this.$refs.typeRef.blur(); // 失焦,关闭下拉框this.dialogForm.way = ""; // 清空添加方式this.dialogForm.time = null; // 清空添加时间}).catch(() => {// 用户取消切换this.dialogForm.type = preValue; // 还原原始值this.$refs.typeRef.blur(); // 失焦,关闭下拉框});},},
};

关键点解析

  1. 获取原始值

    • changeType 方法中,通过 this.$refs.typeRef.value 获取到下拉框改变前的值。这是因为 el-selectchange 事件触发时,v-model 绑定的值已经更新为新值,而 this.$refs.typeRef.value 仍然保留了原始值。

  2. 确认提示

    • 使用 this.$confirm 弹出确认框,根据用户的操作决定是否更新下拉框的值。如果用户点击“确定”,则清空相关数据并保留新值;如果用户点击“取消”,则将下拉框的值还原为原始值。

  3. 失焦处理

    • 在确认或取消操作后,调用 this.$refs.typeRef.blur() 关闭下拉框,避免下拉框一直展开影响用户体验。

总结

通过上述实现,我们成功地在 Vue 中实现了下拉框值改变前的确认提示功能,并在用户取消操作时还原了原始值。这种实现方式不仅提升了用户体验,还避免了因误操作导致的数据丢失。希望本文的介绍能对你在开发中遇到类似问题提供帮助。

http://www.dtcms.com/wzjs/391024.html

相关文章:

  • 成都网站制作工作室关键词排名查询网站
  • 网站搜索引擎优化怎么做海外黄冈网站推广
  • 教育网站制作软件seo公司 上海
  • 国外域名注册做违法网站人工智能培训课程
  • 茂名网站制作计划阻断艾滋病的药有哪些
  • 网站改版页面不收录seo系统培训课程
  • 千华网鞍山门户网站国际时事新闻最新消息
  • 网站建设滨江青岛模板建站
  • 初学ssm做的网站头条发布视频成功显示404
  • 动感十足的网站搜索引擎营销实训报告
  • 专做教育网站拿站seo做的比较好的公司
  • json做网站的数据库网站推广优化排名教程
  • 自助游网站开发分析报告搜狗seo培训
  • 怎么做祝福网站搜索引擎营销的主要方式有哪些?
  • 网站建设商城商城网站建设多少钱想做个网络推广
  • 做cpa推广的网站怎么弄最近新闻有哪些
  • 网站开发前调查电子商务seo是什么意思
  • dw8 php做购物网站教程计算机基础培训机构
  • 企业网站应该怎么做百度移动端排名软件
  • 做网站怎么添加图片网络运营培训
  • 把域名解析到其他网站的ip地址叫交换链接是什么
  • 网站备案成功后可以改吗seo算法入门教程
  • 不断完善政府网站建设企业整站seo
  • 泉州网站建设方案优化网站优化和网站推广
  • 做网站在图片里加文字怎么给自己的公司做网站
  • 购物网站中加减数目的怎么做长春seo公司
  • 光泽县规划建设局网站贺州seo
  • 太湖县城乡建设局网站app推广注册从哪里接单
  • 租用空间做网站百度风云榜排行榜
  • wordpress安装在本地安装seo公司网站