当前位置 : 主页 > 网络编程 > JavaScript >

vue关于select组件绑定的值为数字类型的问题

来源:互联网 收集:自由互联 发布时间:2023-02-08
目录 select组件绑定的值为数字类型问题 number可以将绑定的 v-model 改为 number类型 若元素属性需要绑定的值为数字时的处理 1.如果直接这样写 2.解决 select组件绑定的值为数字类型问题 在
目录
  • select组件绑定的值为数字类型问题
    • number可以将绑定的 v-model 改为 number类型
  • 若元素属性需要绑定的值为数字时的处理
    • 1.如果直接这样写
    • 2.解决

select组件绑定的值为数字类型问题

在日常开发中,我们双向绑定的form表单,经常会遇到对数字类型的绑定,但对于v-model 绑定的值,输入数字会自动转成字符串类型。

对于input输入框绑定的值,想要修改为数字类型很简单,只需要使用表单的修饰符就可以。

如下所示:

number可以将绑定的 v-model 改为 number类型

<input v-model.number="age" type="number">

但对于 select 选择框或者 radio 单选框来说,则没有那么友好了。

select option 绑定的 value 是数字,但是 v-model 为 string ,这就会导致正常的数据无法渲染。解决方法如下所示:

使用 :value

<a-form-item label="登录方式" name="type">
                    <a-radio-group v-model:value="type">
                        <a-radio :value="1">密码登录</a-radio>
                        <a-radio :value="2">验证码登录</a-radio>
                    </a-radio-group>
</a-form-item>

这样就可以正常渲染!

若元素属性需要绑定的值为数字时的处理

1.如果直接这样写

<select    v-model='value'>
    <option  value='数字'>...</option>
</select>

这时vue并不会把你写入的数字,解析成数字而是解析成字符串,即使是你写到data中一个变量为数字,再使用。都是如此。

2.解决

如果属性需要是数字时(type=Number).需要在属性值前使用v-bind==> ‘:’属性值 的写法。

具体写法如下

<select    v-model='value'>
    <option  :value='数字'>...</option>
</select>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持易盾网络。

上一篇:vue3:setup语法糖使用教程
下一篇:没有了
网友评论