最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue鍵盤事件點擊事件加native操作

 更新時間:2020年07月27日 11:39:56   作者:墨咎  
這篇文章主要介紹了vue鍵盤事件點擊事件加native操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

如下所示:

<el-card class="box-card animated flipInY">
   <el-form :model="ruleForm2" :label-position="labelPosition" status-icon :rules="rules2" ref="ruleForm2" label-width="50px" class="demo-ruleForm">
    <h3 class="login_title">系統(tǒng)登錄</h3>
    <el-form-item label="賬號" prop="account">
     <el-input type="text" v-model="ruleForm2.account" @keyup.native.enter="handleSubmit2" auto-complete="off" placeholder="賬號"></el-input>
    </el-form-item>
    <el-form-item label="密碼" prop="checkPass">
     <el-input type="password" v-model="ruleForm2.checkPass" @keyup.native.enter="handleSubmit2" auto-complete="off" placeholder="密碼"></el-input>
    </el-form-item>
    <el-checkbox label="記住密碼" v-model="checked" class="remember">記住密碼</el-checkbox>
    <el-form-item >
     <el-button type="primary" class="login_btn" @click.native.prevent="handleSubmit2" :loading="logining">登錄</el-button>
    </el-form-item>
   </el-form>
  </el-card>

如上代碼,后臺管理系統(tǒng)的登錄。在賬號和密碼中加入了鍵盤enter事件,監(jiān)聽時需要加.native才能正確使用;下面按鈕的點擊事件同樣要加.native才能正常使用。

參考官方文檔:

你可能有很多次想要在一個組件的根元素上直接監(jiān)聽一個原生事件。這時,你可以使用 v-on 的 .native 修飾符:

<base-input v-on:focus.native="onFocus"></base-input>

在有的時候這是很有用的,不過在你嘗試監(jiān)聽一個類似 <input> 的非常特定的元素時,這并不是個好主意。比如上述 <base-input> 組件可能做了如下重構(gòu),所以根元素實際上是一個 <label> 元素:

<label>
 {{ label }}
 <input
  v-bind="$attrs"
  v-bind:value="value"
  v-on:input="$emit('input', $event.target.value)"
 >
</label>

這時,父級的 .native 監(jiān)聽器將靜默失敗。它不會產(chǎn)生任何報錯,但是 onFocus 處理函數(shù)不會如你預(yù)期地被調(diào)用。

為了解決這個問題,Vue 提供了一個 $listeners 屬性,它是一個對象,里面包含了作用在這個組件上的所有監(jiān)聽器。例如:

{
 focus: function (event) { /* ... */ }
 input: function (value) { /* ... */ },
}

有了這個 $listeners 屬性,你就可以配合 v-on="$listeners" 將所有的事件監(jiān)聽器指向這個組件的某個特定的子元素。對于類似 <input> 的你希望它也可以配合 v-model 工作的組件來說,為這些監(jiān)聽器創(chuàng)建一個類似下述 inputListeners 的計算屬性通常是非常有用的:

Vue.component('base-input', {
 inheritAttrs: false,
 props: ['label', 'value'],
 computed: {
  inputListeners: function () {
   var vm = this
   // `Object.assign` 將所有的對象合并為一個新對象
   return Object.assign({},
    // 我們從父級添加所有的監(jiān)聽器
    this.$listeners,
    // 然后我們添加自定義監(jiān)聽器,
    // 或覆寫一些監(jiān)聽器的行為
    {
     // 這里確保組件配合 `v-model` 的工作
     input: function (event) {
      vm.$emit('input', event.target.value)
     }
    }
   )
  }
 },
 template: `
  <label>
   {{ label }}
   <input
    v-bind="$attrs"
    v-bind:value="value"
    v-on="inputListeners"
   >
  </label>
 `
})

現(xiàn)在 <base-input> 組件是一個完全透明的包裹器了,也就是說它可以完全像一個普通的 <input> 元素一樣使用了:所有跟它相同的特性和監(jiān)聽器的都可以工作。

這里直接將官方文檔copy過來了,也就是說當(dāng)我們要監(jiān)聽組件的鍵盤事件或者點擊事件的時候是不需要加.native的,而監(jiān)聽組件的就需要加.native才能使用了;但當(dāng)你需要監(jiān)聽的內(nèi)容是組件的子元素的時候.native也是不會生效的,此時官方又給了處理的辦法就是使用v-on="$listeners"。

補充知識:Vue 關(guān)于@keyup.enter.native

看代碼的時候遇到了

<el-input @keyup.enter.native="nextInput">

其實這個可以寫成

<<el-input v-on:keyup.enter.native="nextInput">

用了封裝組件的話,比如element,這個時候使用按鍵修飾符需要加上.native

這個大概意思就是監(jiān)聽鍵盤回車事件,并運行相應(yīng)的nextInput函數(shù)

以上這篇vue鍵盤事件點擊事件加native操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue3的路由傳參方法超全匯總

    Vue3的路由傳參方法超全匯總

    vue路由傳參的使用場景一般都是應(yīng)用在父路由跳轉(zhuǎn)到子路由時,攜帶參數(shù)跳轉(zhuǎn),下面這篇文章主要給大家介紹了關(guān)于Vue3路由傳參方法的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • 解決IOS端微信H5頁面軟鍵盤彈起后頁面下方留白的問題

    解決IOS端微信H5頁面軟鍵盤彈起后頁面下方留白的問題

    微信H5項目,ios端出現(xiàn)了軟鍵盤輸完隱藏后頁面不會回彈,下方會有一大塊留白。這篇文章主要介紹了決微信H5頁面軟鍵盤彈起后頁面下方留白的問題(iOS端) ,需要的朋友可以參考下
    2019-06-06
  • vue實現(xiàn)橫屏滾動公告效果

    vue實現(xiàn)橫屏滾動公告效果

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)橫屏滾動公告效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Vue數(shù)據(jù)更新視圖未更新的幾種解決方案

    Vue數(shù)據(jù)更新視圖未更新的幾種解決方案

    本文主要介紹在vue項目中,遇到數(shù)據(jù)更新但視圖不更新的情況時,無法使用watch監(jiān)聽、無法使用this.$set方法,同時使用this.$forceUpdate()無效時,所使用的解決方案,需要的朋友可以參考下
    2024-02-02
  • 解決vue+ element ui 表單驗證有值但驗證失敗問題

    解決vue+ element ui 表單驗證有值但驗證失敗問題

    這篇文章主要介紹了vue+ element ui 表單驗證有值但驗證失敗,本文通過實例代碼給大家分享解決方案,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • vue中字符串如何拼接路由path路徑

    vue中字符串如何拼接路由path路徑

    這篇文章主要介紹了vue中字符串如何拼接路由path路徑方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • MVVM模型在Vue中的使用詳解

    MVVM模型在Vue中的使用詳解

    MVVM模型主要是為了分離視圖(View)和模型(Model),其優(yōu)點為:低耦合、可重用性、獨立開發(fā)以及可測試,視圖和模型分離的特點給了 Vue 很大的啟發(fā),這篇文章主要介紹了MVVM模型在Vue中的使用,需要的朋友可以參考下
    2022-11-11
  • 解讀Vue-loader的相關(guān)知識

    解讀Vue-loader的相關(guān)知識

    這篇文章主要介紹了解讀Vue-loader的相關(guān)知識,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Vue中的assets和static目錄:使用場景及區(qū)別說明

    Vue中的assets和static目錄:使用場景及區(qū)別說明

    這篇文章主要介紹了Vue中的assets和static目錄:使用場景及區(qū)別說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • vue3使用Facebook嵌入式視頻播放器API方法詳解

    vue3使用Facebook嵌入式視頻播放器API方法詳解

    這篇文章主要為大家介紹了vue3使用Facebook嵌入式視頻播放器API方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03

最新評論

托克逊县| 北票市| 乌拉特中旗| 泸水县| 四平市| 张家界市| 北宁市| 乌鲁木齐县| 大荔县| 桃园市| 锡林郭勒盟| 隆回县| 德清县| 嘉禾县| 邹平县| 临海市| 赫章县| 三门县| 安徽省| 黄浦区| 香河县| 中卫市| 玛沁县| 桦甸市| 镇雄县| 宁阳县| 商河县| 越西县| 阿拉尔市| 新昌县| 德安县| 乐至县| 湖南省| 松潘县| 安平县| 长武县| 怀化市| 西和县| 海门市| 石柱| 沙河市|