35 lines
950 B
Vue
35 lines
950 B
Vue
![]() |
<template>
|
||
![]() |
<input type="text" :class="cx('root')" :value="modelValue" :aria-invalid="invalid || undefined" @input="onInput" v-bind="getPTOptions('root')" />
|
||
![]() |
</template>
|
||
|
|
||
|
<script>
|
||
![]() |
import BaseInputText from './BaseInputText.vue';
|
||
![]() |
|
||
![]() |
export default {
|
||
|
name: 'InputText',
|
||
![]() |
extends: BaseInputText,
|
||
![]() |
inheritAttrs: false,
|
||
![]() |
emits: ['update:modelValue'],
|
||
|
methods: {
|
||
![]() |
getPTOptions(key) {
|
||
![]() |
const _ptm = key === 'root' ? this.ptmi : this.ptm;
|
||
|
|
||
|
return _ptm(key, {
|
||
![]() |
context: {
|
||
![]() |
filled: this.filled,
|
||
|
disabled: this.$attrs.disabled || this.$attrs.disabled === ''
|
||
![]() |
}
|
||
![]() |
});
|
||
![]() |
},
|
||
|
onInput(event) {
|
||
|
this.$emit('update:modelValue', event.target.value);
|
||
|
}
|
||
|
},
|
||
|
computed: {
|
||
|
filled() {
|
||
|
return this.modelValue != null && this.modelValue.toString().length > 0;
|
||
![]() |
}
|
||
|
}
|
||
![]() |
};
|
||
![]() |
</script>
|