---

title: BaseSwitch

---

# BaseSwitch

Basic switch component to handle boolean values. This component receives
its selected state using a prop, and emits a Vue event whenever the user
clicks it.

## Props

| Name                    | Description | Type                 | Default            |
| ----------------------- | ----------- | -------------------- | ------------------ |
| <code>modelValue</code> |             | <code>boolean</code> | <code>false</code> |

## Events

| Event name        | Properties | Description |
| ----------------- | ---------- | ----------- |
| update:modelValue |            |

## Events

This component emits no events.

## See it in action

Here you have a basic example of how the switch is rendered.

_Try clicking it to see how it changes its state_

```vue live
<template>
  <BaseSwitch @update:modelValue="value = !value" :modelValue="value" />
</template>

<script>
import { BaseSwitch } from '@empathyco/x-components'

export default {
  name: 'BaseSwitchDemo',
  components: {
    BaseSwitch,
  },
  data() {
    return {
      value: false,
    }
  },
}
</script>
```

The switch component also supports using the `v-model` directive, to automatically handle its state
change:

```vue live
<template>
  <BaseSwitch v-model="value" />
</template>

<script>
import { BaseSwitch } from '@empathyco/x-components'

export default {
  name: 'BaseSwitchDemo',
  components: {
    BaseSwitch,
  },
  data() {
    return {
      value: false,
    }
  },
}
</script>
```
