Modificadores de Campos de Entrada no Vue.js
O Vue.js oferece modificadores para aprimorar o comportamento da diretiva v-model
Modificador .lazy
Por padrão, v-model
input
.lazy
change
input
<!DOCTYPE html>
<html>
<head>
<title>Explorando Vue.js</title>
<meta charset="utf-8" />
</head>
<body>
<script src="https://unpkg.com/vue"></script>
<div id="app">
<input v-model.lazy="name" class="form-control" />
<span>Digitado: {{ name }}</span>
</div>
<script>
Vue.createApp({
data() {
return {
name: ''
};
}
}).mount('#app');
</script>
</body>
</html>
Nesse exemplo, a propriedade name
Modificador .number
Mesmo que o tipo do campo seja number
.number
<div id="app">
<input v-model.number="age" type="number">
<span>Digitado: {{ age }}</span>
</div>
<script>
Vue.createApp({
data() {
return {
age: 0
};
}
}).mount('#app');
</script>
Aqui, a propriedade age
Modificador .trim
O modificador .trim
<div id="app">
<input v-model.trim="message">
<span>Digitado: {{ message }}</span>
</div>
<script>
Vue.createApp({
data() {
return {
message: ''
};
}
}).mount('#app');
</script>
Isso impede que espaços desnecessários sejam armazenados na propriedade message
Combinação de Modificadores
Os modificadores podem ser combinados para aplicar múltiplas transformações ao valor da entrada:
<input v-model.lazy.number="age" type="number">
Nesse caso, o valor de age