• 五、适合小白的小程序之密码框密码、*号显示隐藏


    首先呢,还是先看看效果吧!

    非可视密码下:

    可视密码下:

    到此呢,上正菜,为大家奉上。

    wxml下:

    1     <view class='sameBox'>
    2         <icon class='iconfont .icon-mima'></icon>
    3         <input bindinput='passWordInput' name="passWord" type="{{typeName}}" placeholder='请输入密码'></input>
    4         <view class='seePass' bindtap='showPass'>
    5           <icon class="iconfont .icon-yanjing" wx:if="{{passFlag == 1}}"></icon>
    6           <icon class='iconfont .icon-bukeshi' wx:else></icon>
    7         </view>
    8       </view>

    wxss下:

    1 .sameBox{ 100%;height: 50px;line-height: 50px;overflow: hidden;margin-top: 10px;}
    2 .sameBox .iconfont:nth-child(1){float: left;font-size: 1.5rem;color: #4768F3;padding-left: 10px;}
    3 .sameBox input{float: right;border-bottom: 1px solid #ccc;height: 97%;font-size: 0.85rem; 85%;color: #ccc;}
    4 .sameBox:nth-child(2){position: relative;}
    5 .seePass{position: absolute;top: 0;right: 0; 20px;height: 50px;padding-right: 20px;}
    6 .seePass .icon-yanjing{font-size: 0.1rem;padding: 0;}

    js下:

    data: {
        typeName: 'password', // 密码框的类型,用于显示密码时更改类型可看见输入的密码而非*号
        passFlag: 1,    // 密码第几次点击代表,用于显示不同的图标
        storePass: '',  // 暂存密码,用于显示密码
      },
      showPass(){     // 显示密码而非*号
        console.log(this.data.storePass)
        if (this.data.passFlag == 1){ // 第一次点击
          this.setData({ passFlag: 2, typeName : 'text'});
        }else{                        // 第二次点击
          this.setData({ passFlag: 1, typeName : 'password'});
        }
      },
      passWordInput(e) {    // 监听密码input框并把输入的密码在变量storePass下暂存起来,用于在显示密码操作展示
       console.log(e.detail.value)
    
        this.setData({
          storePass: e.detail.value,
          passWord: e.detail.value
        })
      },

    END:到这里呢,想要的效果就可以实现了,希望对各位有用把,不足之处望海涵。。。

    特此记录,虽然通过控制input的type来实现密码是否可见的操作,但也会出现在真机测试上,只有当input获取焦点之后(必须先点击一下input)再点击是否密码可见,才有作用。

    这种情况呢,就伴随用户体验很差,我们可以也换个思路来实现,换汤不换药。改用通过wx:if 以及 wx:else 来控制两个input 一个input为text类型,另一个则为password类型即可。

  • 相关阅读:
    IDEA在编辑时提示could not autowire
    python基础——使用__slots__
    python基础——实例属性和类属性
    python基础——继承和多态
    python基础——访问限制
    python基础——面向对象编程
    python基础——第三方模块
    python基础——使用模块
    python基础——模块
    Python tkinter调整元件在窗口中的位置与几何布局管理
  • 原文地址:https://www.cnblogs.com/xintao/p/11213365.html
Copyright © 2020-2023  润新知