QdsSelect

Single and multiple choice from a known set of 2 to ~200 options.

Overview

The qds-select component is a form-associated custom element that provides a dropdown listbox with optional filtering, grouping, and multi-select with tags. It uses a popover pattern (via PopoverController) that qds-date-picker will reuse.

Usage

<qds-select label="Country" placeholder="Choose…">
  <option value="us">United States</option>
  <option value="uk">United Kingdom</option>
  <option value="ca">Canada</option>
</qds-select>

Programmatic options via the options property:

<qds-select id="mySelect" label="Priority"></qds-select>
<script>
  document.getElementById('mySelect').options = [
    { value: 'low', label: 'Low' },
    { value: 'med', label: 'Medium', description: 'Default priority' },
    { value: 'high', label: 'High', group: 'Urgent' }
  ];
</script>

Multiple selection with tags:

<qds-select multiple label="Tags" placeholder="Select tags…">
  <option value="a">Alpha</option>
  <option value="b">Beta</option>
  <option value="c">Gamma</option>
</qds-select>

API Reference

Attributes

Properties

CSS Parts

CSS Custom Properties

Events

Example

<form>
  <qds-select
    name="country"
    label="Country"
    required
    placeholder="Select a country…"
    clearable>
    <option value="us">United States</option>
    <option value="uk">United Kingdom</option>
    <option value="ca" data-group="North America">Canada</option>
    <option value="mx" data-group="North America">Mexico</option>
  </qds-select>
  <button type="submit">Submit</button>
</form>
<script>
  const select = document.querySelector('qds-select');
  select.addEventListener('change', () => {
    console.log('Selected:', select.value);
  });
</script>