vue3+ts自定义el-input密码框的icon

image.png

UI效果图如上,先将两个icon切出来备好

<template>
    <el-form :model="ruleForm" class="ruleForm">
        <el-form-item prop="password">
            <el-input class="pswdBox" v-model.trim="ruleForm.password" :type="showPasswordVisible ? 'text' : 'password'" placeholder="请输入登录密码">
                <template #suffix>
                    <el-icon v-if="!showPasswordVisible" class="custom-password-icon" @click="showPasswordVisible = true">
                        <img :src="getAssetsFile('close_eye.svg')">
                    </el-icon>
                    <el-icon v-else class="custom-password-icon" @click="showPasswordVisible = false">
                        <img :src="getAssetsFile('open_eye.svg')">
                    </el-icon>
                </template>
            </el-input>
        </el-form-item>
    </el-form>
</template>

<script setup lang="ts">
import { ref } from 'vue'
//是否明文显示密码
const showPasswordVisible = ref(false);
</script>

<style lang="scss" scoped>
.pswdBox {
    .custom-password-icon {
        width: 24px;
        height: 24px;
        cursor: pointer;
    }
}
</style>

实现后效果如下


image.png

image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容