vue登錄頁面回車執行事件@keyup.enter.native問題

vue登錄頁面回車執行事件@keyup.enter.native

<el-form ref="loginForm" :model="loginForm" :rules="loginFormRules" label-width="80px">
        <!-- 用戶名 -->
        <el-form-item label="用戶名" prop="userName">
          <el-input v-model="loginForm.userName" prefix-icon="el-icon-user" clearable @keyup.enter.native="submitForm('loginForm')"></el-input>
        </el-form-item>
        <!-- 密碼 -->
        <el-form-item label="密碼" prop="passWord" style="margin-bottom: 0;">
          <el-input v-model="loginForm.passWord" prefix-icon="el-icon-lock" type="password" show-password @keyup.enter.native="submitForm('loginForm')"></el-input>
        </el-form-item>
</el-form>

vue中回車鍵登錄實現

給登錄按鈕綁定兩個點擊事件:

代碼如下:

<el-button type="primary" @click="login()" @keyup.enter="keyDown(e)">登錄</el-button>

login 是直接點擊按鈕的登錄事件:

代碼如下:

  methods: {
    login() {
      
    },
    
    // 點擊回車鍵登錄
    keyDown(e) {
      // 回車則執行登錄方法 enter鍵的ASCII是13
      if (e.keyCode == 13 || e.keyCode == 100) {
        this.login(); // 定義的登錄方法
      }
    },
  },
  mounted() {
    // 綁定監聽事件
    window.addEventListener("keydown", this.keyDown);
  },
  destroyed() {
    // 銷毀事件
    window.removeEventListener("keydown", this.keyDown, false);
  },

這樣就實現點擊鍵盤回車鍵和點擊按鈕實現登錄功能。

總結

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: