vue3-登录表单--输入密码框小眼睛切换问题

	<el-form-item prop="password">
			<el-input
				:type="flagType"  //设置type
				v-model="loginForm.password"
				placeholder="请输入密码"
				:show-password="false"
				autocomplete="new-password">
				<template #prefix>
					<el-icon class="el-input__icon"><lock /></el-icon>
				</template>
				<template #suffix>  //手动插入小眼睛图标
					<span @click="changeView">
					<el-icon class="el-input__icon" v-if="flag == true"><Hide /></el-icon>
			<el-icon class="el-input__icon" v-else-if="flag == false"><View /></el-icon>
					</span>
				</template>
			</el-input>
	</el-form-item>
<el-button :icon="CircleClose" round @click="resetForm(loginFormRef)" size="large">重置</el-button>

登录表单下方有一个重置按钮,点击重置按钮使密码和用户名清空,小眼睛重新回到隐藏密码状态

const flagType = ref("password");
const flag = ref(true);

// resetForm重置表单事件
const resetForm = (formEl: FormInstance | undefined) => {
	if (!formEl) return;
	flag.value = true;
	flagType.value = "password";
	formEl.resetFields();
};
//切换小眼睛事件
const changeView = () => {
	flag.value = !flag.value;
	flagType.value = flag.value ? "password" : "text";
};

el-input直接设置type值也可以实现密码显示隐藏,但是当点击重置按钮前密码为明文,重置后再次输入密码依然为明文状态。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值