Documentation

Report Edit

Checkbox

import { Checkbox } from 'cx/widgets';

Checkbox is a commonly used widget for expressing binary choices.

Index
<div layout={LabelsLeftLayout}>
    <Checkbox label="Native" value-bind="$page.checked" text="Checkbox" native/>
    <Checkbox label="Standard" value-bind="$page.checked" text="Checkbox" />
    <Checkbox label="Disabled" value-bind="$page.checked" disabled text="Checkbox" />
    <Checkbox label="Readonly" value-bind="$page.checked" readOnly text="Checkbox" />
</div>
<div layout={LabelsLeftLayout}>
    <Checkbox label="Required" value-bind="$page.checked" required text="Checkbox"/>
    <Checkbox label="Styled" value-bind="$page.checked" inputStyle="color:red" text="Checkbox"/>
    <Checkbox label="View" value-bind="$page.checked" mode="view" text="Checkbox" emptyText="N/A" />
    <Checkbox label="Three State" value-bind="$page.checked2" text="Checkbox" indeterminate />
</div>
Copied!Cx Fiddle

In rare cases, checkboxes offer a third state called the indeterminate state to indicate absence of proper value.

Examples:

Repeater example

Checkbox is commonly combined with a Repeater when the list of choices is dynamic.






Please note that, in order to avoid multiple instances, controller should not be assigned to the Repeater.

ControllerIndex
<div controller={CbController}>
    <Repeater records-bind="$page.options">
        <Checkbox value-bind="$record.checked" text-bind="$record.text" />
        <br/>
    </Repeater>
</div>
Copied!Cx Fiddle
PropertyDescriptionType
indeterminate

Set to true to instruct the widget to indicate indeterminate state (null or undefined value) with a square icon instead of appearing unchecked.

boolean
native

Use native checkbox HTML element (<input type="checkbox"/>). Default is false. Native checkboxes are difficult to style.

boolean
value
checked

Value of the checkbox. true makes the checkbox checked.

boolean
autoFocus

Set to true to automatically focus the field, after it renders for the first time.

boolean
baseClass

Base CSS class to be applied to the field. Defaults to checkbox.

string
class
className

Additional CSS classes to be applied to the element. If an object is provided, all keys with a "truthy" value will be added to the CSS class list.

string/object
disabled

Defaults to false. Set to true to disable the field.

boolean
emptyText

Text to be rendered in view mode when the field is empty.

string
enabled

The opposite of disabled.

boolean
error

Used for validation. If error evaluates to non-null, the field is marked in red.

string
help

Additional content to be displayed next to the field. This is commonly used for presenting additional information or validation errors.

string/config
helpPlacement

Set to material to use custom help placement instruction. Used in Material theme to implement absolutely positioned validation messages.

string
helpSpacer

Indicates that help should be separated from the input with a whitespace. Default is true.

boolean
id

Id to be used on rendered input.

string
inputAttrs

Additional attributes that should be rendered on the input element. E.g. inputAttrs={{ autoComplete: "off" }}.

object
inputClass

Additional CSS class applied to the input element. Used for setting visual elements, such as borders and backgrounds.

string/object
inputStyle

Style object applied to the input element. Used for setting visual elements, such as borders and backgrounds.

string/object
label

Field label. For advanced use cases, see Labels.

string/config
labelClass

Additional CSS class to be passed to the label object.

string
labelPlacement

Set to material to use custom label placement instruction. Used in Material theme to implement animated labels.

string
labelStyle

Additional CSS styles to be passed to the label object.

string/object
mod

Appearance modifier. For example, mod="big" will add the CSS class .cxm-big to the block element.

string/array
mode

Either view or edit (default). In view mode, the field is displayed as plain text.

string
outerLayout

Defines the outer layout which wraps the widget.

widget
putInto
contentFor

Used with outer layouts. Specifies the name of the content placeholder which should render the widget.

string
readOnly

Defaults to false. Used to make the field read-only.

boolean
required

Defaults to false. Used to make the field required.

boolean
style

Style object applied to the wrapper div. Used for setting the dimensions of the element.

string/object
tabIndex

Custom tab index to be set on the field.

string
tabOnEnterKey

Set to true to move focus to the next field if Enter key is pressed.

boolean
tooltip

Tooltip configuration. For more info see Tooltips.

string/object
trackFocus

If set to true top level element will get additional CSS class indicating that input is focused. Used for adding special effects on focus. Default is false.

boolean
unfocusable

Prevent moving focus on the checkbox. This is useful when checkboxes are found inside other focusable elements, such as grids or lists.

boolean
validationMode

Defines how to present validation errors. Default mode is tooltip. Other options are help and help-block. See Validation Options for more information.

string
validationParams

An structured binding for additional validation parameters. Useful if validation depends on values from other fields, e.g. confirm password. Calculated value is passed as the third argument to onValidate.

structure
vdomKey

Key that will be used as the key when rendering the React component.

string
viewMode

Set to true to switch into view mode. Same as mode="view".

boolean
viewText

Text to be displayed when the checkbox is in the viewMode. Useful to describe state of the checkbox in viewMode in a form of text, i.e. Active/Inactive.

string
visible
if

Visibility of the widget. Defaults to true.

boolean
visited

Validation errors are not shown until the user visits the field. Setting this field to true will cause that validation error indicators become visible immediately.

boolean