This commit is contained in:
dap
2025-04-28 13:19:57 +08:00
90 changed files with 380 additions and 260 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "@vben-core/shadcn-ui",
"version": "5.5.4",
"version": "5.5.5",
"#main": "./dist/index.mjs",
"#module": "./dist/index.mjs",
"homepage": "https://github.com/vbenjs/vue-vben-admin",

View File

@@ -41,7 +41,6 @@ watch(
innerValue.value.length > 0 ? innerValue.value[0] : undefined;
}
},
{ immediate: true },
);
watch(
@@ -60,7 +59,7 @@ watch(
innerValue.value = val === undefined ? [] : [val as ValueType];
}
},
{ deep: true },
{ deep: true, immediate: true },
);
async function onBtnClick(value: ValueType) {

View File

@@ -10,7 +10,7 @@ import TabsIndicator from './tabs-indicator.vue';
interface Props {
defaultValue?: string;
tabs: SegmentedItem[];
tabs?: SegmentedItem[];
}
const props = withDefaults(defineProps<Props>(), {

View File

@@ -1,4 +1,6 @@
<script lang="ts" setup>
import { CircleX } from '@vben-core/icons';
import {
Select,
SelectContent,
@@ -8,6 +10,7 @@ import {
} from '../../ui';
interface Props {
allowClear?: boolean;
class?: any;
// 弹出层的类名
contentClass?: any;
@@ -15,12 +18,27 @@ interface Props {
placeholder?: string;
}
const props = defineProps<Props>();
const props = withDefaults(defineProps<Props>(), {
allowClear: false,
});
const modelValue = defineModel<string>();
function handleClear() {
modelValue.value = undefined;
}
</script>
<template>
<Select>
<SelectTrigger :class="props.class">
<SelectValue :placeholder="placeholder" />
<Select v-model="modelValue">
<SelectTrigger :class="props.class" class="flex w-full items-center">
<SelectValue class="flex-auto text-left" :placeholder="placeholder" />
<CircleX
@pointerdown.stop
@click.stop.prevent="handleClear"
v-if="allowClear && modelValue"
data-clear-button
class="mr-1 size-4 cursor-pointer opacity-50 hover:opacity-100"
/>
</SelectTrigger>
<SelectContent :class="props.contentClass">
<template v-for="item in options" :key="item.value">