Android上的Vue.js keyup事件和v模型长度未按预期工作

nun*_*nya 4 javascript keyup vue.js

在Android上,v-model的长度在keyup上返回0,除非其为数字或空格键。有谁知道这是为什么,以及如何使它触发keyup事件,而不管它是什么密钥并获得长度?这是我所拥有的清理版本:

<template>
  <div class="typeahead">
    <input
      v-model="query"
      v-on:keyup="suggestTerms"
      >
  </div>
</template>

<script>
export default {
  data () {
    return {
      query: '',
    }
  },
  methods: {
    suggestTerms () {
      console.log('query length = ' + this.query.length);
    }
  }
}
</script>
Run Code Online (Sandbox Code Playgroud)

PS此功能适用于Android以外的所有浏览器和设备。

Hel*_*and 6

某些情况下,有时 v模型不会在移动设备上更新。论坛上的问题(当前),另一个来自论坛

您还可以显式地对v模型进行编码,它可以在android和pc中使用。

function callMe(){
    var vm = new Vue({
        el : '#root',
        data : {query : ''},
        methods: {
          suggestTerms () {
            console.log('query length = ' + this.query.length);
          }
        }
    })
}
callMe();
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.11/dist/vue.js"></script>
<div id='root'>
  <h3>Decomposed</h3>
  <div>
    <input type='text' :value='query' @input='evt=>query=evt.target.value' v-on:keyup="suggestTerms">
    
    <b>{{query}}({{query.length}})</b>
    
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

  • 哎呀——2021 年了,这仍然是一个问题!这怎么可能。感谢你的回答 (3认同)