拿来即用修改密码功能

这篇具有很好参考价值的文章主要介绍了拿来即用修改密码功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

拿来即用修改密码功能,element-ui,vue3,vue.js,elementui文章来源地址https://www.toymoban.com/news/detail-685328.html

<template>
	<div>
		<!-- 重置密码 -->
		<el-dialog
			title="修改密码"
			v-model="state.resetPwdDialogVisible"
			:showClose="state.firstLogin !== 1"
			width="550px"
			@close="onCancel"
			:close-on-click-modal="false"
		>
			<el-form :model="state.resetPwdForm" status-icon :rules="state.resetPwdRules" ref="pwdForm" label-width="100px">
				<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
					<el-form-item label="新密码" prop="pwd_new1">
						<el-input
							placeholder="请输入新密码"
							type="password"
							v-model="state.resetPwdForm.pwd_new1"
							autocomplete="new-password"
							show-password
							clearable
						>
						</el-input>
					</el-form-item>
				</el-col>
				<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
					<el-form-item label="确认新密码" prop="pwd_new2">
						<el-input
							placeholder="请再次输入新密码"
							type="password"
							v-model="state.resetPwdForm.pwd_new2"
							autocomplete="new-password"
							show-password
							clearable
						>
						</el-input>
					</el-form-item>
				</el-col>
			</el-form>
			<template #footer>
				<span class="dialog-footer">
					<el-button @click="onCancel" size="default">取消</el-button>
					<el-button v-throttle type="primary" @click="onSubmit" size="default">确定</el-button>
				</span>
			</template>
		</el-dialog>
	</div>
</template>

<script setup name="layoutBreadcrumbUser">
import { updatePwd } from '/@/api/login.js';

const pwdForm = ref(null);

const validatePass = (rule, value, callback) => {
	if (value === '') {
		callback(new Error('请输入密码'));
	} else {
		if (state.resetPwdForm.pwd_new2 !== '') {
			pwdForm.value.validateField('pwd_new2');
		}
		callback();
	}
};
const validatePass2 = (rule, value, callback) => {
	if (value === '') {
		callback(new Error('请再次输入密码'));
	} else if (value !== state.resetPwdForm.pwd_new1) {
		callback(new Error('两次输入密码不一致!'));
	} else {
		callback();
	}
};
const state = reactive({
	resetPwdDialogVisible: false, // 修改密码
	resetPwdForm: {
		pwd_new1: '',
		pwd_new2: '',
	},
	resetPwdRules: {
		pwd_new1: [
			{
				required: true,
				trigger: 'blur',
				message: '请输入6~20位不含有中文的密码',
				pattern: /^[^\u4e00-\u9fa5 ]{6,20}$/,
			},
			{ validator: validatePass, trigger: 'blur' },
		],
		pwd_new2: [
			{
				required: true,
				trigger: 'blur',
				message: '请输入6~20位不含有中文的密码',
				pattern: /^[^\u4e00-\u9fa5 ]{6,20}$/,
			},
			{ validator: validatePass2, trigger: 'blur' },
		],
	}
});

// 取消
const onCancel = () => {
	state.resetPwdDialogVisible = false;
	// 清除验证
	pwdForm.value.resetFields();
};

// 修改密码保存
const onSubmit = () => {
	if (!pwdForm) return;
	pwdForm.value.validate((valid) => {
		if (valid) {
			toSavePwd();
		} else {
			return false;
		}
	});
};

const toSavePwd = () => {
	updatePwd(state.resetPwdForm)
		.then((res) => {
			if (res.data.code === 1) {
				ElMessage.success('密码修改成功');
				state.resetPwdDialogVisible = false;
			}
		})
		.catch((error) => {
			return;
		});
};

// 页面加载时
onMounted(() => {});
</script>

到了这里,关于拿来即用修改密码功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot最简单好用的导出导入功能,拿来即用

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:粘贴即可用 SpringBoot 项目整合的导入导出接口。 项目pom.xml 文件添加依赖,编写封装类即可。依赖、导入导出的封装类以及使用方法,以下文章都会一一列举,十分方便,已经经过测试,复制粘贴

    2024年02月05日
    浏览(69)
  • 修改element-ui主题颜色

    方法1:创建一个公共的更改的CSS文件,在CSS文件里写入 $–color-primary:加颜色,最后在main.js中引入 方法2:借助在线主题生成工具,设置自己想要的颜色,下载主题,解压之后,在main.js 中引入 方法3:安装主题工具 1、安装主题工具 2、从 npm 安装theme 3、初始化变量文件 4、根

    2024年02月11日
    浏览(69)
  • element-ui实现密码复杂度验证

    1、el-form中的rules属性,rules属性定义的是存放多个验证规则的数组formRules(这个数组是个人起的名字),el-form-item中的prop属性,对应的是formRules数组中的对应的规则名称,然后在el-input标签内,设置一个v-model双向数据绑定,以及其他的属性等。:model是绑定属性,置空 在规则

    2024年02月07日
    浏览(40)
  • element-ui 移动端适配修改

    页面布局组件 通过col和row实现对页面进行24栏栅格布局,但在移动端,栅格会出现过小的现象,因此限制span和gutter以及flex等属性在pc端有效。 分栏偏移会使得移动端布局超出屏幕,因此也限制了offset以及响应式布局的属性等在pc端有效。 form表单组件 form 表单组件默认的lab

    2023年04月17日
    浏览(44)
  • element-ui 修改时间选择器样式

    因为elementUI的时间选择器el-date-picker是将元素直接挂载到页面的 body 中,而非自身元素下,所以使用 /deep/ 穿透也是无法定位到元素的。 解决方案: 利用时间选择器的 popper-class 属性,给其设置样式。 然后再在src/assets下创建style.scss,在该文件里面进行样式的编写 最后再引入

    2024年02月11日
    浏览(54)
  • element-ui折叠面板怎么修改样式

    修改前 因为组件封装,要使用样式穿透来修改… 注意需要把需要样式穿透的类单独拿出来,不能包裹在scss格式的类里了 修改后 展开… 最后这个缝隙可以用边框来填补,至于伪类加横杠最好不要用,因为展开和折叠的时候会出现一瞬间白线

    2024年02月12日
    浏览(56)
  • element-ui实现附件上传功能

    1.引入文件FileUpdata 2.按照所需要的配置,进行修改即可

    2024年02月12日
    浏览(38)
  • element-ui 路由动态加载功能

    2024年02月13日
    浏览(34)
  • 关于element-ui表格 鼠标悬停背景颜色修改问题

    element-ui鼠标悬停时行背景色默认为白色,当表格字体为白色时容易看不到文字,因此需要修改鼠标悬停时的背景色。 html使用el-table后,在css样式中添加以下代码即可修改鼠标悬停后的背景色。(未使用scss和less) 同时补充鼠标点击后行高亮颜色修改,需要在el-table标签内添加

    2024年02月11日
    浏览(78)
  • 自定义日历.element-ui 修改时间选择器样式

    目录 一、自定义日历 二、时间选择样式自定义 先上效果图 已经封装成vue组件,可选择切换年月:  因 element-UI的时间选择器 el-date-picker 是将元素直接挂载到页面的 body 中,而非自身元素下,所以使用  /deep/、 、  ::v-deep  等穿透无法定位到元素。 解决方案: 利用时间选择

    2024年02月12日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包