使用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