Un moyen de restreindre le sélecteur de date pour n'accepter que les chiffres et les traits d'union, et de restreindre d'autres valeurs dans Vue
P粉729518806
P粉729518806 2023-08-26 14:57:04
0
1
618
<p>J'utilise le package npm vue2-datepicker pour gérer les dates. La saisie de la date accepte toutes les lettres, chiffres et caractères spéciaux. Mais je veux que l'entrée n'accepte que les chiffres, les traits d'union et les barres obliques. Je peux facilement y parvenir en utilisant une entrée HTML normale. Mais comment l’implémenter dans le sélecteur de date ? Toute aide serait grandement appréciée. Merci d'avance</p> <p>Le lien npm que j'utilise. </p> <p>Affiche une image d'un champ de saisie acceptant différentes valeurs. </p> <p>Voici les balises et attributs que j'utilise. </p> <pre class="brush:php;toolbar:false;"><sélecteur de date :placeholder="fieldItem.name" v-model="fieldItem.value" format="MM-JJ-AAAA" v-if="fieldItem.type == 'datePicker'" type="numéro" ></date-picker></pre>
P粉729518806
P粉729518806

répondre à tous(1)
P粉023650014

Vous pouvez utiliser des emplacements de scope pour y parvenir :

<date-picker
  format='MM-DD-YYYY'
  value-type='format'
  v-model='time'>
  <template #input='{ props, events }'>
    <input
      v-bind='props'
      v-on='events'>
  </template>
</date-picker>

Nous pouvons désormais intercepter les événements d'entrée et supprimer les caractères indésirables :

<date-picker
  format='MM-DD-YYYY'
  value-type='format'
  v-model='time'>
  <template #input='{ props, events }'>
  <input
    v-bind='props'
    v-on='{
      ...events,
      input: event => handleInput(event, events.input)
    }'>
  </template>
</date-picker>
...
  methods: {
    handleInput (event, update) {
      let value = event.target.value.replace(/[^0-9/-]/g, '')

      // 强制Vue在删除一些字符后刷新输入框
      this.$forceUpdate()

      // 将新值应用于让vue2-datepicker继续其流程
      update(value)
    }
  }
...

Exemple

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal