Below is a **cheat-sheet of the Quasar components most teams reach for first**, each with a minimal syntax example and the *props/events you’ll touch 90 % of the time*. (For exhaustive API cards, jump to the linked docs pages.) --- ## 1. Layout primitives ### `` ```vue ``` **Key props** | prop | type | purpose | | ------------- | ------- | ---------------------------------------------------------------------------------------------------- | | `view` | String | The 3×3 **matrix** that decides if header/footer/drawers are *Hidden/Reveal/Fixed* on each platform. | | `container` | Boolean | Constrains layout to parent width (nice for centered apps). | | `height-hint` | Number | SSR fallback when JS can’t compute window height. | Events: `@scroll`, `@resize`. --- ### `` / `` ```vue ``` Common props: `elevated`, `reveal`, `bordered`, `height-hint`; events `@reveal`, `@hide`. ### `` ```vue ``` Important props: `v-model`, `side`, `overlay`, `behavior`, `width`, `mini`, `mini-to-overlay`, `bordered`. ### `` & friends `` goes inside `` and auto-offsets for the header/footer/drawers. Add `` or `` when you need floating buttons or “back-to-top”. --- ## 2. Action components ### `` ```vue ``` | frequently-used prop | effect | | | --------------------------------------------------------- | ------------------------------------ | ----------------- | | `label`, `icon`, `icon-right` | Button content. | | | `color`, `text-color` | Palette control. | | | `flat`, `outline`, `unelevated`, `push`, `round`, `dense` | Visual variants. | | | `size` | XS → XL tokens or CSS value. | | | `to`, `href`, `type` | Router / link / native-form support. | | | `disable`, `loading`, `ripple` | Interactivity toggles. | | ### `` + `` / `` ```vue ``` Key props: `v-model`, `align`, `breakpoint`, `vertical`, `dense`, `shrink`, `class`. `QTab` adds `name`, `icon`, `label`, `alert`, `badge`. --- ## 3. Forms & inputs ### `` ```vue ``` Essential props: `type`, `label`, `placeholder`, `outlined|filled|borderless|rounded`, `dense`, `clearable`, `prefix`, `suffix`, `hint`, `error`, `error-message`, `debounce`, `rules`, `lazy-rules`. ### `` ```vue ``` Hot props: `options`, `option-label`, `option-value`, `emit-value`, `map-options`, `multiple`, `use-input`, `use-chips|chips`, `dense`, `clearable`, `popup-content-class`, `loading`, `virtual-scroll`. ### `` ```vue ``` `@submit`, `@reset` events; imperative methods `validate()`, `resetValidation()`, `getValidationComponents()`. #### Quasar Form-Input Components | Component | Minimal syntax example | What it’s for | | ---------------- | ------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------- | | **QField** | `vue
` | Gives any custom control a Quasar-style label, hint, error/validation and dense/outlined looks. | | **QInput** | `vue
` | Text / number / email etc. input with masks, debounced `v-model`, built-in rules & slots. | | **QSelect** | `vue
` | Single- or multi-select dropdown / autocomplete (can be filterable, chip-style, virtual-scrolled). | | **QCheckbox** | `vue
` | Standard checkbox with tri-state (checked / unchecked / indeterminate) support. | | **QRadio** | `vue
` | Mutually-exclusive option picker for small sets. | | **QToggle** | `vue
` | Mobile-style ON/OFF switch — boolean input with accessible keyboard support. | | **QOptionGroup** | `vue
` | Renders a whole list of radios / checkboxes / toggles in one shot, keeping models in sync. | | **QBtnToggle** | `vue
` | Segmented-control alternative to radios, but looking like grouped buttons. | | **QSlider** | `vue
` | Single-thumb numeric slider with discrete or continuous steps. | | **QRange** | `vue
` | Dual-thumb range selector for min/max numeric values. | | **QKnob** | `vue
` | Rotary dial (built on `QCircularProgress`) for coarse or fine-grained numeric input. | | **QRating** | `vue
` | Star (or custom icon) rating picker that can be readonly or interactive. | | **QFile** | `vue
` | File-chooser that returns `FileList` or `Array` and shows previews/count. | | **QUploader** | `vue
` | Drag-and-drop or click-to-upload component with queue, retry and progress bars. | | **QColor** | `vue
` | Inline or pop-up color picker with HEX/RGB/HSV and palette presets. | | **QDate** | `vue
` | Calendar date picker (Gregorian & Persian); supports ranges and shortcuts. | | **QTime** | `vue
` | Clock-face or input-field time picker with seconds, intervals and AM/PM/24-h modes. | | **QEditor** | `vue
` | Full WYSIWYG rich-text editor that reads/writes HTML and lets you extend its toolbar. | These inputs plug straight into **QForm** validation and inherit Quasar’s design-system props (`color`, `dense`, `dark`, *etc.*) --- ## 4. Data display ### `` ```vue Title Body content… ``` Useful props: `flat`, `bordered`, `square`, `dark`. Slot helpers: `q-card-section`, `q-card-actions`, `q-card-media`. ### `` ```vue ``` Quick-hit props: `rows`, `columns`, `row-key`, `selection`, `selected`, `pagination`, `rows-per-page-options`, `filter`, `dense`, `grid`, `virtual-scroll`, `loading`, scoped slots for full customisation. --- ## 5. Overlays & feedback ### `` ```vue …content… ``` Main props: `v-model`, `persistent`, `maximized`, `full-width`, `full-height`, `position`, `transition-show`, `transition-hide`, `no-backdrop-dismiss`. Events: `@show`, `@hide`. ### `` ```vue
…content…
``` Props: `showing`, optional `label`, `label-class`, `size`, `color`. --- Below are **all Quasar components that were *not* covered in the previous cheat-sheet**, with a **one-line syntax sample** and a **very short “what it’s for” blurb**. | Component | Minimal syntax example | Purpose | | --------------------- | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------- | | **QAjaxBar** | `` | Thin loading bar that auto-shows while Ajax/fetch calls run. | | **QAvatar** | `` | Circular/square avatar that holds an icon, text or image. | | **QBadge** | `3` | Tiny counter / status dot to highlight numbers or states. | | **QBanner** | `New version available!` | Prominent in-page notice with optional actions. | | **QBar** | `` | Ultra-slim horizontal bar—handy in headers, cards or Electron apps. | | **QBreadcrumbs** | `` | Shows current navigation hierarchy. | | **QBtnDropdown** | `` | Split button that reveals a menu of extra actions. | | **QBtnGroup** | `` | Visually groups buttons, sharing borders/radius. | | **QCarousel** | `` | Swipeable / auto-playing image or content slider. | | **QChatMessage** | `` | Chat bubble for messenger-style UIs. | | **QChip** | `Label` | Small pill for tags, filters, contacts, etc. | | **QCircularProgress** | `` | Circular spinner / progress indicator. | | **QExpansionItem** | `Hidden stuff` | Accordion row that reveals extra content when expanded. | | **QFab** | `` | Floating action button plus optional speed-dial actions. | | **QIcon** | `` | Embeds Material, MDI, FontAwesome (and more) icons. | | **QImg** | `` | Optimised image with lazy-load and blur-up placeholder. | | **QInfiniteScroll** | `` | Auto-loads more data when scrolled near bottom. | | **QIntersection** | `` | Emits events when element enters/leaves viewport. | | **QLinearProgress** | `` | Horizontal progress bar, determinate or indeterminate. | | **QList / QItem** | `Row` | Vertical list rows with rich slots; ideal for menus or data lists. | | **QMarkupTable** | `` | Static HTML table—lightweight alternative to `QTable`. | | **QMenu** | `` | Context pop-over anchored to any element. | | **QNoSsr** | `` | Renders slot only on client (skips SSR). | | **QPopupEdit** | `vue
` | “Click-to-edit” helper: turns any label or cell into an inline editable pop-up. | | **QResizeObserver** | `` | Fires event whenever the parent DOM element changes size. | | **QScrollObserver** | `` | Emits position & direction as the page/container scrolls. | | **QPagination** | `` | Page number / navigation control. | | **QParallax** | `` | Hero banner with parallax scroll effect. | | **QPopupProxy** | `Popover` | Generic anchored pop-up used by many pickers/menus. | | **QPullToRefresh** | `` | Mobile swipe-down-to-refresh wrapper. | | **QResponsive** | `` | Maintains aspect ratio for embedded content. | | **QScrollArea** | `` | Custom-styled scrollable container. | | **QSeparator** | `` | Horizontal/vertical divider line. | | **QSkeleton** | `` | Placeholder shimmer for loading states. | | **QSlideItem** | `` | Mobile list-item swipe actions (e.g. mail apps). | | **QSlideTransition** | `
Panel
` | Height/width slide animation wrapper. | | **QSpace** | `` | Flexbox spacer that takes up remaining space. | | **QSpinner** | `` | Dozens of SVG/CSS loaders beyond progress bars. | | **QSplitter** | `` | Draggable resizer between two panes. | | **QStepper** | `` | Wizard / multi-step process tracker. | | **QTimeline** | `` | Vertical chronological milestones. | | **QToolbar** | `Title` | App/header bar hosting nav and actions. | | **QTooltip** | `Help text` | Hover/click tooltip—rich content supported. | | **QTree** | `` | Expandable/collapsible hierarchical data viewer. | | **QVideo** | `` | Responsive embedded video player (HTML5, YouTube, Vimeo). | | **QVirtualScroll** | `{{ item }}` | Renders only visible rows for huge lists—boosts performance. | > **Note:** All these components share Quasar’s global props (`dark`, `dense`, `size`, `color`, etc.) and are tree-shakable—import only what you use for lean bundles.