首页 > 其他分享 >Vue:表单修饰符(.lazy/.number/.trim)

Vue:表单修饰符(.lazy/.number/.trim)

时间:2024-03-12 18:29:07浏览次数:21  
标签:trim lazy const 修饰符 number value console ref 输入

一、v-model.lazy

默认情况下,v-model 会在每次 input 事件后更新数据。也就是说在每次输入时都会改变绑定的值。

例如,在下面的代码中,每次在输入框中输入时,number都会立即改变

   {{ number }}
   <input type="text" v-model="number" />

有时候我们希望在一次输入结束后再更新数据,比如在搜索框中我们希望完整的输入后再检索,就可以使用.lazy。

例如,在下面的代码中,只有当结束这次输入时(例如失去焦点),number才会改变

{{ number }}
<input type="text" v-model.lazy="number" />

二、v-model.number

v-model.number可以将输入的值自动更改为数字。

例如,在下面的代码中,我们输入数字6,但它的类型是一个字符串

<template>
  <div class="page">
    {{ number }}
    <input type="text" v-model="number" :on-change="say()" />
  </div>
</template>

<script setup lang="ts">
import { ref } from "vue";
const number = ref();
const say = () => {
  console.log(typeof number.value);//string
};
</script>

加入.number后,输入数字会自动转化为number。

例如,在下面的代码中,我们输入数字6,它的类型是数字。

<template>
  <div class="page">
    {{ number }}
    <input type="text" v-model.number="number" :on-change="say()" />
  </div>
</template>

<script setup lang="ts">
import { ref } from "vue";
const number = ref();
const say = () => {
  console.log(typeof number.value);//number
};
</script>

需要注意的是,在使用.number修饰符时,如果我们先输入数字再输入其它字符或者先输入其它字符再输入数字,类型会是先输入的值的类型。

例如输入123aaa,类型为数字,值为123。

例如输入aaa123,类型为字符串,值为aaa123。

三、v-model.trim

它可以默认自动去除用户输入内容中两端的空格

当输入“            123456”

没有使用.trim时:

<template>
  <div class="page">
    {{ number }}
    <input type="text" v-model="number" :on-change="say()" />
  </div>
</template>

<script setup lang="ts">
import { ref } from "vue";
const number = ref();
const say = () => {
  console.log(typeof number.value); //string
  console.log(number.value); //            123456
};
</script>

使用.trim时:

<template>
  <div class="page">
    {{ number }}
    <input type="text" v-model.trim="number" :on-change="say()" />
  </div>
</template>

<script setup lang="ts">
import { ref } from "vue";
const number = ref();
const say = () => {
  console.log(typeof number.value); //string
  console.log(number.value); //123456
};
</script>

如果需要去除中间的空格,可以在输入的时候进行修改,如下所示

<template>
  <div class="page">
    {{ number }}
    <input type="text" @input="onInputChange" />
  </div>
</template>
<script setup lang="ts">
import { ref } from "vue";
const number = ref("");
const onInputChange = (event: Event) => {
  const input = event.target as HTMLInputElement;
  let value = input.value;
  // 去除中间的空格
  number.value = value.replace(/[\s]+/g, "");
  // 更新原始数据时去除两端空格
  number.value = number.value.trim();
  console.log(number.value);
};
</script>

标签:trim,lazy,const,修饰符,number,value,console,ref,输入
From: https://blog.csdn.net/qq_45820271/article/details/136658850

相关文章

  • printf的输出格式控制符、格式修饰符、转义字符
    格式控制符:%d:用于输出十进制有符号整数。%u:用于输出十进制无符号整数。%f:用于输出十进制浮点数字。%e 或 %E:用于输出指数形式的浮点数。%g 或 %G:用于输出浮点数,根据数值大小自动选择使用 %f 或 %e。%x 或 %X:用于输出十六进制。%c:用于输出单个字符。%s:用于输出字......
  • Vue — .sync修饰符的使用
    .sync修饰符作用:可以实现子组件和父组件数据的双向绑定,简化代码特点:prop属性名,可以自定义,非固定value使用场景:封装弹窗类的基础组件,添加自定义属性 使用true/false控制本质:就是:属性名和@update:属性名 合写<template><divclass="app"><button@click=......
  • C++ 类访问修饰符
    私有(private)成员成员和类的默认访问修饰符是private,如果没有使用任何访问修饰符,类的成员将被假定为私有成员。私有成员变量或函数在类的外部是不可访问的,甚至是不可查看的。只有类和友元函数可以访问私有成员。实际操作中,我们一般会在私有区域定义数据,在公有区域定义相关的函数......
  • 题解 P10196【[USACO24FEB] Lazy Cow P】
    总算铂金组场切一题。似乎做麻烦了,而且常数蛮大的,但是没啥思维难度,记录一下。对于每一个需求,我们将其放置在平面直角坐标系的\((m_i,b_i)\)位置。另外,自然有一个\((0,0)\)需求,也同样处理这个点。我们需要支持插入一个点的操作,并维护出答案。先考虑不需要动态插点,只在最后求......
  • 深入理解 Java 修饰符与封装:访问权限、行为控制与数据隐藏
    Java修饰符Java修饰符用于控制类、属性、方法和构造函数的访问权限和行为。它们可以分为两组:访问修饰符:public:意味着代码对所有类可访问。private:意味着代码只能在声明的类内部访问。default:意味着代码只能在同一包中访问。protected:意味着代码在同一包和子......
  • C#的函数使用 和参数修饰符 out ref params
    //函数和方法//函数好比对象的动作行为在定义函数的时候,职责(作用/功能)越单一越好满足高内聚低耦合的开发思路//变量的命名规则小驼峰//函数的命名规则大驼峰动词开头//函数的参数参数可以认为是外部需要函数帮忙处理的数据......
  • Java 构造函数与修饰符详解:初始化对象与控制权限
    Java构造函数Java构造函数是一种特殊的类方法,用于在创建对象时初始化对象的属性。它与类名相同,并且没有返回值类型。构造函数的作用:为对象的属性设置初始值执行必要的初始化操作提供创建对象的多种方式构造函数的类型:默认构造函数:无参数的构造函数,如果用户没有明......
  • final和static修饰符
    1final基本介绍2final使用细节3fanal和staticfinal和static应该是同一级别的修饰符,最先的是范围修饰符(publicprotected默认private)接着就是fanal(表示不可更改)和static(不用实例化对象,可以通过类名调用类的成员)final和static结合使用效率更高,一般......
  • finnal修饰符
    final基本介绍final使用细节fanal和staticfinal和static应该是同一级别的修饰符,最先的是范围修饰符(publicprotected默认private)接着就是fanal(表示不可更改)和static(不用实例化对象,可以通过类名调用类的成员)final和static结合使用效率更高,一般调用stati......
  • JAVA的4种访问修饰符
    1、基本介绍补充:1属性和方法可以用四种访问修饰符修饰;类只能用public和默认修饰符修饰,且一个.java文件中只能有一个public修饰的类作为主类,其他类用默认修饰符修饰。2访问权限起作用的情况:①在一个类中定义另一个类的对象,当访问该对象的属性或方法时,修饰符根据同类、同......