-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: scope the no-options slot (#1083)
Resolves #1071, Resolves #1081 https://vue-select.org/guide/slots.html#improving-the-default-no-options-text
- Loading branch information
Showing
5 changed files
with
125 additions
and
32 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
<template> | ||
<v-select> | ||
<template v-slot:no-options="{ search, searching }"> | ||
<template v-if="searching"> | ||
No results found for <em>{{ search }}</em>. | ||
</template> | ||
<em style="opacity: 0.5;" v-else>Start typing to search for a country.</em> | ||
</template> | ||
</v-select> | ||
</template> | ||
|
||
<script> | ||
export default { | ||
name: 'BetterNoOptions', | ||
}; | ||
</script> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,32 @@ | ||
::: tip 🚧 | ||
This section of the guide is a work in progress! Check back soon for an update. | ||
Vue Select currently offers quite a few scoped slots, and you can check out the | ||
Vue Select currently offers quite a few scoped slots, and you can check out the | ||
[API Docs for Slots](../api/slots.md) in the meantime while a good guide is put together. | ||
::: | ||
|
||
#### Scoped Slot `option` | ||
### Scoped Slot `option` | ||
|
||
vue-select provides the scoped `option` slot in order to create custom dropdown templates. | ||
|
||
```html | ||
<v-select :options="options" label="title"> | ||
<template v-slot:option="option"> | ||
<span :class="option.icon"></span> | ||
{{ option.title }} | ||
</template> | ||
</v-select> | ||
``` | ||
<template v-slot:option="option"> | ||
<span :class="option.icon"></span> | ||
{{ option.title }} | ||
</template> | ||
</v-select> | ||
``` | ||
|
||
Using the `option` slot with props `"option"` provides the current option variable to the template. | ||
|
||
<CodePen url="NXBwYG" height="500"/> | ||
|
||
### Improving the default `no-options` text | ||
|
||
The `no-options` slot is displayed in the dropdown when `filteredOptions === 0`. By default, it | ||
displays _Sorry, no matching options_. You can add more contextual information by using the slot | ||
in your own apps. | ||
|
||
<BetterNoOptions /> | ||
|
||
<<< @/.vuepress/components/BetterNoOptions.vue |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters