Utilisation
Le composant ChatPromptSubmit est utilisé à l'intérieur du composant ChatPrompt pour soumettre l'invite. Il gère automatiquement les différentes valeurs status pour contrôler le chat.
Il étend le composant Button, de sorte que vous pouvez passer n'importe quelle propriété telle que color, variant, size, etc.
<template>
<UChatPrompt>
<UChatPromptSubmit />
</UChatPrompt>
</template>
footer du composant ChatPrompt.prêt
Lorsque son statut est ready, utilisez les accessoires color, variant et icon pour personnaliser le bouton.
- xx
color="primary"xx{lang="ts-type"} - x
variant="solid"xx{lang="ts-type"} - x
icon="i-lucide-arrow-up"x{lang="ts-type"}
<template>
<UChatPromptSubmit color="primary" variant="solid" icon="i-lucide-arrow-up" />
</template>app.config.ts sous la touche ui.icons.arrowUp.vite.config.ts sous la touche ui.icons.arrowUp.Répondre
Lorsque son statut est submitted, utilisez les accessoires submitted-color, submitted-variant et submitted-icon pour personnaliser le bouton.
- x
submittedColor="neutral"xx{lang="ts-type"} - xx
submittedVariant="subtle"xxxph0777x - xx
submittedIcon="i-lucide-square"xx{lang="ts-type"}
stop est émis lorsque l'utilisateur clique sur le bouton.<template>
<UChatPromptSubmit
submitted-color="neutral"
submitted-variant="subtle"
submitted-icon="i-lucide-square"
status="submitted"
/>
</template>app.config.ts sous la touche ui.icons.stop.vite.config.ts sous la touche ui.icons.stop.Streaming
Lorsque son statut est streaming, utilisez les accessoires streaming-color, streaming-variant et streaming-icon pour personnaliser le bouton.
- x
streamingColor="neutral"x{lang="ts-type"} - x
streamingVariant="subtle" - x
streamingIcon="i-lucide-square"x{lang="ts-type"}
stop est émis lorsque l'utilisateur clique sur le bouton.<template>
<UChatPromptSubmit
streaming-color="neutral"
streaming-variant="subtle"
streaming-icon="i-lucide-square"
status="streaming"
/>
</template>app.config.ts sous la touche ui.icons.stop.vite.config.ts sous la touche ui.icons.stop.erreur
Lorsque son statut est error, utilisez les accessoires error-color, error-variant et error-icon pour personnaliser le bouton.
errorColor="error"x{lang="ts-type"}- x
errorVariant="soft"x{lang="ts-type"} - x
errorIcon="i-lucide-rotate-ccw"x{lang="ts-type"}
reload est émis lorsque l'utilisateur clique sur le bouton.<template>
<UChatPromptSubmit
error-color="error"
error-variant="soft"
error-icon="i-lucide-rotate-ccw"
status="error"
/>
</template>app.config.ts sous la touche ui.icons.reload.vite.config.ts sous la touche ui.icons.reload.Exemples
API
Props
| Prop | Default | Type |
|---|---|---|
as | 'button' | anyThe element or component this component should render as when not a link. |
status | 'ready' | "error" | "ready" | "submitted" | "streaming" |
icon | appConfig.ui.icons.arrowUp | anyThe icon displayed in the button when the status is |
color | 'primary' | "error" | "primary" | "secondary" | "success" | "info" | "warning" | "neutral"The color of the button when the status is |
variant | 'solid' | "link" | "outline" | "soft" | "subtle" | "ghost" | "solid"The variant of the button when the status is |
streamingIcon | appConfig.ui.icons.stop | anyThe icon displayed in the button when the status is |
streamingColor | 'neutral' | "error" | "primary" | "secondary" | "success" | "info" | "warning" | "neutral"The color of the button when the status is |
streamingVariant | 'subtle' | "link" | "outline" | "soft" | "subtle" | "ghost" | "solid"The variant of the button when the status is |
submittedIcon | appConfig.ui.icons.stop | anyThe icon displayed in the button when the status is |
submittedColor | 'neutral' | "error" | "primary" | "secondary" | "success" | "info" | "warning" | "neutral"The color of the button when the status is |
submittedVariant | 'subtle' | "link" | "outline" | "soft" | "subtle" | "ghost" | "solid"The variant of the button when the status is |
errorIcon | appConfig.ui.icons.reload | anyThe icon displayed in the button when the status is |
errorColor | 'error' | "error" | "primary" | "secondary" | "success" | "info" | "warning" | "neutral"The color of the button when the status is |
errorVariant | 'soft' | "link" | "outline" | "soft" | "subtle" | "ghost" | "solid"The variant of the button when the status is |
autofocus | false | true | "true" | "false" | |
avatar | AvatarPropsDisplay an avatar on the left side. | |
loading | boolean When | |
loadingIcon | appConfig.ui.icons.loading | anyThe icon when the |
disabled | boolean | |
name | string | |
label | string | |
size | 'md' | "xs" | "sm" | "md" | "lg" | "xl" |
leading | boolean When | |
leadingIcon | anyDisplay an icon on the left side. | |
trailing | boolean When | |
trailingIcon | anyDisplay an icon on the right side. | |
type | 'button' | "reset" | "submit" | "button"The type of the button when not a link. |
activeColor | "error" | "primary" | "secondary" | "success" | "info" | "warning" | "neutral" | |
activeVariant | "link" | "outline" | "soft" | "subtle" | "ghost" | "solid" | |
square | boolean Render the button with equal padding on all sides. | |
block | boolean Render the button full width. | |
loadingAuto | boolean Set loading state automatically based on the | |
ui | { base?: SlotClass; } & { base?: SlotClass; label?: SlotClass; leadingIcon?: SlotClass; leadingAvatar?: SlotClass; leadingAvatarSize?: SlotClass; trailingIcon?: SlotClass; } |
Slots
| Slot | Type |
|---|---|
leading | { ui: object; } |
default | { ui: object; } |
trailing | { ui: object; } |
Emits
| Event | Type |
|---|---|
stop | [event: MouseEvent] |
reload | [event: MouseEvent] |
Thème
export default defineAppConfig({
ui: {
chatPromptSubmit: {
slots: {
base: ''
}
}
}
})import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import ui from '@nuxt/ui/vite'
export default defineConfig({
plugins: [
vue(),
ui({
ui: {
chatPromptSubmit: {
slots: {
base: ''
}
}
}
})
]
})