Make numeric input fields return numbers.

This commit is contained in:
Buster "Silver Eagle" Neece 2021-10-23 22:46:37 -05:00
parent 8820c18a9b
commit d1dbe8450b
No known key found for this signature in database
GPG Key ID: 6D9E12FF03411F4E
1 changed files with 15 additions and 2 deletions

View File

@ -3,8 +3,10 @@
<template #default>
<slot name="default" v-bind="{ id, field, state: fieldState }">
<b-form-textarea v-if="inputType === 'textarea'" :id="id" v-model="field.$model"
v-bind="inputAttrs" :state="fieldState"></b-form-textarea>
:number="isNumeric" :trim="inputTrim" v-bind="inputAttrs"
:state="fieldState"></b-form-textarea>
<b-form-input v-else :type="inputType" :id="id" v-model="field.$model"
:number="isNumeric" :trim="inputTrim"
v-bind="inputAttrs" :state="fieldState"></b-form-input>
</slot>
@ -50,6 +52,14 @@ export default {
type: String,
default: 'text'
},
inputNumber: {
type: Boolean,
default: false
},
inputTrim: {
type: Boolean,
default: false
},
inputAttrs: {
type: Object,
default() {
@ -76,7 +86,7 @@ export default {
fieldState() {
return this.field.$dirty ? !this.field.$error : null;
},
labelClassWithRequired () {
labelClassWithRequired() {
let labelClass = this.labelClass;
if (this.isRequired) {
labelClass += ' required';
@ -85,6 +95,9 @@ export default {
},
isRequired() {
return _.has(this.field, 'required');
},
isNumeric() {
return this.inputNumber || this.inputType === "number";
}
}
}