Skip to content

Pass-through Nuxt UI

Tout objet placé sous la clé nommée dans options est spread sur le composant Nuxt UI cible (props size, color, variant, ui, …). Mécanisme équivalent aux attributs natifs transmis par Quasar / Vuetify hors de leur API documentée.

API — clés

NameComposant cibleUtilisé par
formFieldUFormFieldTous les contrôles wrappés
inputUInputstring, password, color (champ texte)
textareaUTextareamulti: true
inputNumberUInputNumbernumber / integer
sliderUSliderslider: true (aussi si l’objet est la valeur de slider)
inputRatingUInputRatingformat: "rating"
checkboxUCheckboxboolean
switchUSwitchboolean + toggle
checkboxGroupUCheckboxGroupmulti-enum
radioGroupURadioGroupformat: "radio"
selectUSelectformat: "select", oneOf
selectMenuUSelectMenuenum par défaut
inputMenuUInputMenuapi
pinInputUPinInputformat: "pin"
inputTagsUInputTagsformat: "tags"
colorPickerUColorPickercolor
fileUploadUFileUploadfile / data-url
inputDateUInputDatedate / date-time
inputTimeUInputTimetime
calendarUCalendarcalendar / popover date
calendarCardcarte calendrierdates
timeCard / timeHour / timeMinute / timeSecondparties heuretime
editorUEditorwysiwyg
cardUCardGroup
tabsUTabsCategorization
stepperUStepperCategorization + variant: "stepper"

Consultez la doc Nuxt UI pour la liste des props de chaque composant.

Exemples

Champ texte large + classes ui

json
{
  "type": "Control",
  "scope": "#/properties/name",
  "options": {
    "input": {
      "size": "lg",
      "color": "primary",
      "ui": { "base": "tracking-wide font-medium" }
    }
  }
}

FormField compact

json
{
  "type": "Control",
  "scope": "#/properties/code",
  "options": {
    "formField": {
      "size": "sm",
      "ui": { "label": "text-muted" }
    }
  }
}

Radio en variante liste

json
{
  "type": "Control",
  "scope": "#/properties/plan",
  "options": {
    "format": "radio",
    "radioGroup": {
      "variant": "list",
      "orientation": "horizontal",
      "size": "md"
    }
  }
}

Group en carte outline

json
{
  "type": "Group",
  "label": "Profil",
  "elements": [],
  "options": {
    "card": {
      "variant": "outline",
      "ui": { "header": "font-semibold" }
    }
  }
}

Playground

Les vitrines passent souvent des objets pass-through (input, radioGroup, card, …). Voir le catalogue.

Publié sous licence BSD-3-Clause.