diff --git a/docs/.vuepress/components/ClearButtonOverride.vue b/docs/.vuepress/components/ClearButtonOverride.vue
index 9c12bdc..b9350d6 100644
--- a/docs/.vuepress/components/ClearButtonOverride.vue
+++ b/docs/.vuepress/components/ClearButtonOverride.vue
@@ -1,24 +1,18 @@
diff --git a/docs/.vuepress/components/CustomComponentRegistration.vue b/docs/.vuepress/components/CustomComponentRegistration.vue
index 66f2af1..b086755 100644
--- a/docs/.vuepress/components/CustomComponentRegistration.vue
+++ b/docs/.vuepress/components/CustomComponentRegistration.vue
@@ -1,25 +1,21 @@
-
+
diff --git a/docs/.vuepress/components/OpenIndicatorOverride.vue b/docs/.vuepress/components/OpenIndicatorOverride.vue
index 1257776..8f5b76e 100644
--- a/docs/.vuepress/components/OpenIndicatorOverride.vue
+++ b/docs/.vuepress/components/OpenIndicatorOverride.vue
@@ -1,29 +1,21 @@
diff --git a/docs/guide/components.md b/docs/guide/components.md
index dd97c06..a4929f4 100644
--- a/docs/guide/components.md
+++ b/docs/guide/components.md
@@ -19,15 +19,13 @@ a simple `` instead.
```
```js
-computed: {
- Deselect() {
- return Vue.component('Deselect', {
- render (createElement) {
- return createElement('button', 'Clear')
- }
- })
- }
-}
+export default {
+ data: () => ({
+ Deselect: {
+ render: createElement => createElement('button', 'Clear'),
+ },
+ }),
+};
```
@@ -45,20 +43,19 @@ based on whether the dropdown is open or closed.
```
```js
-computed: {
- OpenIndicator () {
- return Vue.component('OpenIndicator', {
- render (createElement) {
- return createElement('button', '🤘🏻');
- },
- });
- },
-},
+export default {
+ data: () => ({
+ selected: ['Canada'],
+ OpenIndicator: {
+ render: createElement => createElement('span', {class: {'toggle': true}}),
+ },
+ }),
+};
```
-## Setting at Registration
+## Setting Globally at Registration
If you want to all instances of Vue Select to use your custom components throughout your app, while
only having to set the implementation once, you can do so when registering Vue Select as a component.
@@ -67,21 +64,15 @@ only having to set the implementation once, you can do so when registering Vue S
import Vue from 'vue';
import vSelect from 'vue-select';
-/**
-* Create custom components to override defaults.
-* @type {{OpenIndicator: *, Deselect: *}}
-*/
-const components = {
- Deselect: Vue.component('Deselect', {
- render: (createElement) => createElement('button', '❌'),
- }),
- OpenIndicator: Vue.component('OpenIndicator', {
- render: (createElement) => createElement('span', '🔽'),
- }),
-};
-
// Set the components prop default to return our fresh components
-vSelect.props.components.default = () => components;
+vSelect.props.components.default = () => ({
+ Deselect: {
+ render: createElement => createElement('button', '❌'),
+ },
+ OpenIndicator: {
+ render: createElement => createElement('span', '🔽'),
+ },
+});
// Register the component
Vue.component(vSelect)