Kasir/resources/js/components/InputSelect.vue
2025-08-28 13:07:35 +07:00

32 lines
895 B
Vue

<template>
<select
:value="modelValue"
@change="$emit('update:modelValue', $event.target.value)"
class="mt-1 block w-full rounded-md shadow-sm sm:text-sm bg-A text-D border-B focus:border-C focus:ring focus:ring-D focus:ring-opacity-50 p-2"
>
<option value="" :disabled="!modelValue && placeholder" v-if="placeholder" class="hover:bg-C text-D">{{ placeholder }}</option>
<option v-for="option in options" :key="option.value" :selected="option.selected" :value="option.value" class="hover:bg-C text-D">
{{ option.label }}
</option>
</select>
</template>
<script setup>
const props = defineProps({
modelValue: {
type: [String, Number],
default: '',
},
placeholder: {
type: String,
default: '',
},
options: {
type: Array,
required: true,
},
});
const emit = defineEmits(['update:modelValue']);
</script>