select amount value when click the amount text box and the amount value is zero (#36, #45)

This commit is contained in:
MaysWind
2025-01-27 00:05:34 +08:00
parent d228bf12bb
commit 8dc38912c9
+10 -2
View File
@@ -5,7 +5,7 @@
:label="label" :placeholder="placeholder"
:persistent-placeholder="!!persistentPlaceholder"
:rules="enableRules ? rules : []" v-model="currentValue" v-if="!hide"
@keydown="onKeyUpDown" @keyup="onKeyUpDown" @paste="onPaste">
@keydown="onKeyUpDown" @keyup="onKeyUpDown" @paste="onPaste" @click="onClick">
<template #prepend-inner v-if="currency && prependText">
<div>{{ prependText }}</div>
</template>
@@ -19,7 +19,7 @@
:label="label" :placeholder="placeholder"
:persistent-placeholder="!!persistentPlaceholder"
:rules="enableRules ? rules : []" v-model="currentValue" v-if="hide"
@keydown="onKeyUpDown" @keyup="onKeyUpDown" @paste="onPaste">
@keydown="onKeyUpDown" @keyup="onKeyUpDown" @paste="onPaste" @click="onClick">
<template #prepend-inner v-if="currency && prependText">
<div>{{ prependText }}</div>
</template>
@@ -90,6 +90,7 @@ const rules = [
];
const currentValue = ref<string>(getFormattedValue(props.modelValue));
const prependText = computed<string | undefined>(() => {
if (!props.currency || !props.showCurrency) {
return '';
@@ -261,6 +262,13 @@ function onPaste(e: ClipboardEvent): void {
e.preventDefault();
}
function onClick(e: MouseEvent): void {
if (!props.disabled && !props.readonly && props.modelValue === 0) {
const input = e.target as HTMLInputElement;
input?.select();
}
}
function getValidFormattedValue(value: number, textualValue: string, hasDecimalSeparator: boolean): string {
let maxLength = TRANSACTION_MAX_AMOUNT.toString().length;