vue.js - v-text-field 在输入后返回字符串,即使它有类型号
问题描述
<VTextField
:value="addOnStartingPrice"
solo
outline
reverse
append-icon="attach_money"
type="number"
min="0"
step="any"
@input="$emit('update:addOnStartingPrice', $event)"
/>
我有这样的东西。
问题1)一旦我更改了数字或类型,它就会正确抛出数字值,但它的类型是字符串而不是数字,因此类型检查失败。如何让它以 type:number 的形式返回值?
问题2)究竟做了step="any" and min="0"
什么?我猜它们不起作用,因为我也可以输入负数。
解决方案
确实 vuetify 返回字符串。作为一种解决方法,您可以使用数字修饰符。
<v-text-field type="number" v-model.number="computedAddOnStartingPrice" />
你可以有一个这样的计算属性:
computed: {
computedAddOnStartingPrice: {
get () { return this.addOnStartingPrice },
set (newVal) { this.$emit('update:addOnStartingPrice', newVal) }
}
}
根据step
属性读取Html 输入步骤。
而对于min
attr 读取Html 输入 min
您还可以使用vuetify 规则来检查用户是否输入了正数。例子:
<v-text-field
type="number"
step="any"
min="0"
:rules="[numberRule]"
v-model.number="computedAddOnStartingPrice"
></v-text-field>
numberRule
: _
data: () => ({
//...
numberRule: val => {
if(val < 0) return 'Please enter a positive number'
return true
}
})
推荐阅读
- c++ - 如何读取密文的所有十六进制值?
- spring - org.springframework.cloud.CloudException:找不到唯一的服务匹配接口 org.springframework.amqp.rabbit.connection.ConnectionFactory。
- wordpress - WordPress 插件:管理区域中的自定义编辑页面?
- ios - 无法使用 Ionic 3 为 iOS 设备构建应用程序
- javascript - 如何在 Firebase 中添加 SignOut 选项
- javascript - 使用 Gulp 在每个 js 文件的顶部添加一行
- sql - postgres:查询结果到变量中以备后用
- javascript - HTML按钮文本在无限循环之前不会改变
- java - 如何从 android 应用程序设置系统属性?
- javascript - 带有通配符的 Javascript 选择器