You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
683 B
26 lines
683 B
<script setup> |
|
import { onMounted, ref } from 'vue'; |
|
|
|
defineProps(['modelValue']); |
|
|
|
defineEmits(['update:modelValue']); |
|
|
|
const input = ref(null); |
|
|
|
onMounted(() => { |
|
if (input.value.hasAttribute('autofocus')) { |
|
input.value.focus(); |
|
} |
|
}); |
|
|
|
defineExpose({ focus: () => input.value.focus() }); |
|
</script> |
|
|
|
<template> |
|
<input |
|
class="border-gray-300 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-300 focus:border-indigo-500 dark:focus:border-indigo-600 focus:ring-indigo-500 dark:focus:ring-indigo-600 rounded-md shadow-sm" |
|
:value="modelValue" |
|
@input="$emit('update:modelValue', $event.target.value)" |
|
ref="input" |
|
/> |
|
</template>
|
|
|