使用vant的van-form。实现密码输入框右边提供可视按钮


1、使用van-form组件实现表单

ps:绑定密码框的type属性。

<van-form @submit="onSubmit">
        <van-field
          v-model="username"
          name="用户名"
          label="用户名"
          placeholder="用户名"
          :rules="[{ required: true, message: '请填写用户名' }]"
          left-icon="user-o"
        />
        <van-field
          v-model="password"
          :type="showornot"
          name="密码"
          label="密码"
          placeholder="密码"
          :rules="[{ required: true, message: '请填写密码' }]"
          left-icon="lock"
          clearable
        />
    <div style="margin: 16px;">
          <van-button round block type="info" native-type="submit">提交</van-button>
        </div>
      </van-form>

 

2、在密码框使用插槽

ps:由于icon标签不能直接提供点击事件,使用span标签包裹住.

<van-field
          v-model="password"
          :type="showornot"
          name="密码"
          label="密码"
          placeholder="密码"
          :rules="[{ required: true, message: '请填写密码' }]"
          left-icon="lock"
          clearable
        >
          <template #button>
            <span @click="isShow">
              <van-icon name="closed-eye" v-if="show" />
              <van-icon name="eye-o" v-else />
            </span>
          </template>
        </van-field>

 

3、写好方法与变量

export default {
  name: 'Login',
  data() {
    return {
      username: '',
      password: '',
      show: true,
      showornot: 'password'
    }
  },
  methods: {
    onSubmit(values) {
      console.log('submit', values)
    },
    isShow() {
      this.show = !this.show
      if (this.show === true) {
        this.showornot = 'password'
      } else {
        this.showornot = 'text'
      }
    }
  }
}

 

实现效果:

 

 

 

 

点击密码框最右侧小图标

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM