javascript - vue terminal mudah alih input pengoptimuman input berangka
phpcn_u1582
phpcn_u1582 2017-07-05 10:59:49
0
3
977

Ini digunakan pada terminal mudah alih
Apabila jenis input ialah nombor, tiada had dalam bahasa Inggeris atau Cina, dan panjang maksimum tidak mempunyai kesan
Apabila jenis input ialah tel, tiada had dalam bahasa Inggeris atau Cina, tetapi maxlength mempunyai kesan, jadi gunakan tel
keyup adalah untuk menapis aksara selain nombor.
Maaf, Cikgu, adakah terdapat ruang untuk pengoptimuman dalam kod ini?

<input v-model="phoneNumber" placeholder="输入手机号" type="tel" maxlength="11" @keyup="handleFilterLetters">

<script type="text/javascript">
    vm = new Vue({
            el: "#app",
            data: {
                phoneNumber: null,
            },
            methods: {
                handleFilterLetters: function(){
                    var self = this;
                    self.phoneNumber=self.phoneNumber.replace(/[^\d]/g,'');
                },
            }
        })
</script>
phpcn_u1582
phpcn_u1582

membalas semua(3)
迷茫
  1. phoneNumber 初始值应该是字符串的 '',否则对一个可能为 null 的变量调用 replace tidak selamat.

  2. var self = this tidak perlu.

  3. handleFilterLetters 好长啊,改成 onKeyUp Bukankah ia mudah dibaca?

  4. Satu baris terlalu panjang, peraturan eslint-airbnb ialah

    <input>

    <input
      v-model="phoneNumber"
      placeholder="输入手机号"
      type="tel"
      maxlength="11"
      @keyup="handleFilterLetters"
    />
刘奇

Semua yang dinyatakan di atas adalah betul
Penyoal juga boleh memberi lebih perhatian kepada gaya kod
Contohnya:
self.phoneNumber=self.phoneNumber.replace(/[^d]/g,'');

ditulis sebagai
self.phoneNumber = self.phoneNumber.replace(/[^d]/g,'');

Lebih baik

仅有的幸福

Penapis tempatan yang digunakan di sini

Jika anda inginkan tahap kebolehgunaan semula yang lebih tinggi, penapis global juga boleh digunakan

<p id="app" >
  <input :value="phone | num"  @keyup="phoneChange" />
</p>
var app = new Vue({
  el: "#app",
  data: { phone: "" },

  methods: {
    phoneChange(e) {
      this.phone = e.target.value
      this.$forceUpdate()  // 这里必须有
    }
  },

  filters: {
    'num': function(value) {
      return value.replace(/[^\d]/g, '')
    }
  }
})
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!