Select form

Let site visitors pick one option from a list of options in a 'drop down'.

github location npm version

Usage

The vf-form__select allows a site visitor to pick an available option from a group of options.

The options inside of a vf-form__select should be in alpabetical order.

When to use

You should try to use the vf-form__select as a last resort for giving site visitors a choice to pick one thing from a group of things. If possible you should use a group vf-form__radio inputs.

When not to use

If the list of options is relatively small you should use a group of vf-form_radio inputs.

Variants

Nunjucks syntax

Depending on your environment you'll want to use render or include. As a rule of thumb: server-side use include, precompiled browser use render. If you're using vf-eleventy you should use include.

Using include

You'll need to pass a context object from your code or Yaml file (example), as well as the path to the Nunjucks template. Nunjucks' include is an abstraction of render and provides some additional portability.


{% set context fromYourYamlFile %}
- or -
{% set context = { 
"component-type" : "form",
 }
%}
{% include "../path_to/vf-form__select/vf-form__select.njk" %}
                

Using render

This approach is best for bare-bones Nunjucks environments, such as precompiled templates with the Nunjucks slim runtime where include is not be available.


{% render '@vf-form__select', {
  "component-type" : "form",}
%}
                
HTML
<div class="vf-form__item vf-stack">

  <label class="vf-form__label" for="vf-form__select">Choose a pet:</label>

  <select class="vf-form__select" id="vf-form__select">
    <option value="cat">Cat</option>
    <option value="hamster">Hamster</option>
    <option value="parrot">Parrot</option>
    <option value="dog" selected>Dog</option>
    <option value="spider">Spider</option>
    <option value="goldfish">Goldfish</option>
  </select>

</div>
              

Examples

Installation info

This component is distributed with npm. After installing npm, you can install the vf-form__select with this command.

$ yarn add --dev @visual-framework/vf-form__select

Sass/CSS

The source files included are written in Sass(scss). You can point your Sass include-path at your node_modules directory and import it like this.

@import "@visual-framework/vf-form__select/index.scss";

Make sure you import Sass requirements along with the modules. You can use a project boilerplate or the vf-sass-starter

Changelog

Changelog

3.0.0

  • Allow margins to be handled by set-type mixin.
  • https://github.com/visual-framework/vf-core/pull/1698

3.0.0-alpha.0

  • reworks the inputs to make more use of nunjucks
  • restyles the inputs to match latest design direction
  • adds better documentation

2.0.1

  • changes any set- style functions to cleaner version

2.0.0

  • Adds vf-stack in example code.
  • Changes some of the styling to match inputs.
  • https://github.com/visual-framework/vf-core/pull/1228/

1.0.1

  • adds webkit-appearance: none; as needed for Safari browsers as autoprefixer is not doing this

1.0.0-alpha.8

  • Version bump only for package @visual-framework/vf-form__select

1.0.0-alpha.7

  • Version bump only for package @visual-framework/vf-form__select

Assets



File system location: components/vf-form__select

Find an issue on this page? Propose a change or discuss it.

AI Assistant

Welcome! I'm here to help

Try asking me:

Disclaimer: This chatbot is designed to assist you with general information and basic inquiries. See our disclaimer notes.

Review AI generated content for accuracy. Leave feedback.

Close chat and delete conversation?

Are you sure you want to close the chat?
Your current conversation history will be permanently deleted.