<VTextField
:value="addOnStartingPrice"
solo
outline
reverse
append-icon="attach_money"
type="number"
min="0"
step="any"
@input="$emit('update:addOnStartingPrice', $event)"
/>
我有这样的东西。
问题1)只要我改变了数字或类型,它就会正确地抛出数字值,但是它的类型是String而不是number,所以类型检查失败。如何让它返回类型:number的值?
问题2:step="any" and min="0"
到底做什么?我猜它们不起作用,因为我也可以输入负数。
6条答案
按热度按时间e1xvtsh31#
事实上,vuetify返回字符串。作为一种解决方法,您可以使用数字修改器。
你可以有一个像这样的计算属性:
根据
step
属性读取Html input step。对于
min
属性,请读取Html input min您还可以使用vuetify规则来检查用户是否输入了正数。示例:
numberRule
:See it in action
vc9ivgsu2#
问题就出在这里,因为InputElements的value属性是string。
需要的时候就可以铸造
你可以做的一件事是通过extend/override来“修复”:
或者
$emit(+$event)
的“变通方法”,因为这似乎是预期的路径但是我想您应该使用setter,getter aproach -因为您也可以在setter中链接验证器。
check:@roli loli:
plicqrtu3#
只需在
@input
处理程序中转换为Number
。bjp0bcyl4#
将保存整数
1u4esq0p5#
我可以使用
v-on:change
事件来转换我的输入。我无法让Andrew Vasilchuk's answer工作。jm2pwxwz6#
在模型中使用
Number()
构造函数,它应该可以正常工作。