Vue Multiselect
When writing enterprise client-facing applications, a robust multiselect component is a must. Enterprise applications usually consist of reporting and management tools. These tools are equipped with a variety of filters. Filters often consist of lists of thousands of items, allowing the user to pick anywhere from one to hundreds quickly. It is also important to quickly see what items have been selected.
Other Options I looked at:
As I transitioned from AngularJs to Vue, I set out on a journey to find the best multiselect on the market, so I did not have to write my own. Unfortunately, after much research, nothing I found satisfied my requirements, so I ended up writing my own:
Demo:
Github:
Preview:
Code:
<vue-listbox-multiselect
v-model="selectedList"
:search-function="search"
placeholder="Search Cities"
size="medium"
/>
<script lang="ts">
import Vue from 'vue';
import VueListboxMultiselect from '@banneredge/vue-listbox-multiselect';
import dataSet from './usCities';
export default Vue.extend({
name: 'Groups',
components: {
VueListboxMultiselect,
},
data() {
return {
selectedList: [
{ id: 'Alabama-Alabaster', value: 'Alabaster', group: 'Alabama' },
{ id: 'California-Agoura Hills', value: 'Agoura Hills', group: 'California' },
],
};
},
methods: {
async search(query: string): Promise<any[]> {
const ids = this.selectedList.map((x) => x.id);
let subset = dataSet.filter((x) => !ids.includes(`${x.state}-${x.city}`));
if (!query) {
subset = subset.slice(0, 100);
} else {
const q = query.toLowerCase();
subset = subset.filter((x) => x.city.toLowerCase().includes(q)
|| x.state.toLowerCase().includes(q));
subset = subset.slice(0, 100);
}
return subset.map((x: any) => ({
id: `${x.state}-${x.city}`,
value: x.city,
group: x.state,
}));
},
},
});
</script>
- https://vue-multiselect.js.org/
- This is a great option with a lot of features.
- Ultimately, if you are trying to filter 100 from 1000, there is no easy way to see what you selected, and that is a deal breaker.
- https://mdbootstrap.com/docs/vue/forms/multiselect/
https://vuetifyjs.com/en/components/selects/
https://quasar.dev/vue-components/select
https://element.eleme.cn/#/en-US/component/select - The big frameworks all have similar multi-selects. The check boxes just wont cut it for all our requirements.
- https://www.jqwidgets.com/vue/vue-combobox/#https://www.jqwidgets.com/vue/vue-combobox/vue-combobox-multiselect.htm
https://www.telerik.com/kendo-vue-ui/components/listbox/ - Paid options are not much better and are really expensive
Final Thoughts:
After 20+ years of writing client-facing enterprise applications, a dual listbox multiselect is the ultimate component for selection. Please give it a try and contribute if there are features missing for your project!

Merkur Futur Adjustable Safety Razor - Sears
ReplyDeleteMerkur 토토 Futur Adjustable Safety Razor is the perfect balance https://septcasino.com/review/merit-casino/ of performance, safety, and comfort. Made in Solingen, 출장샵 Germany, this razor has a perfect wooricasinos.info balance of herzamanindir
I appreciate how clearly this topic was explained. The information about Xuper TV APK Gratis is presented in a way that feels accessible to regular users. The interface and navigation sections were particularly useful because they explain aspects that are often missing from short app descriptions. I also think the discussion could be expanded with comparisons to other similar entertainment applications. Knowing how different platforms organize their content and menus would help readers understand their individual strengths. Overall, the article gives a helpful overview without making the subject unnecessarily complicated.
ReplyDeleteThis app has become one of my favorite entertainment options lately. I found your article very informative because it answered many questions I had before trying it. I originally searched for Freecine APK, but the explanation about Freecine Download and the overall features gave me much more confidence. The Freecine App is easy to navigate, and I enjoy discovering new movies whenever I have some free time. I also visited Freecine.com.br Aqui to learn more. Thanks for creating such a useful guide. It made understanding Baixar Freecine and Freecine Online Download much easier.
ReplyDeleteThis article addresses a practical challenge in enterprise client-facing applications where reporting and management tools often require filters containing thousands of selectable items. The emphasis on quickly selecting anywhere from one to hundreds of options, while still making selected values easy to review, shows why a robust multiselect component can be important for usable enterprise interfaces.
ReplyDeleteThe author's transition from AngularJS to Vue and the decision to build a custom multiselect after existing options did not meet the requirements makes the article especially useful from a practical development perspective. These interface considerations are valuable for developers strengthening their JavaScript fundamentals through a Javascript Course in Chennai.
The article also demonstrates how requirements for enterprise filters can influence component design, particularly when dealing with large lists and many selected values. The experience of moving between frontend frameworks provides useful context for developers who want to understand different approaches to application development, including an Angular Course in Chennai.
ReplyDeleteThe custom component described in the article also provides an interesting foundation for practical project work involving reusable frontend components, filtering, and selection interfaces. Such concepts can be explored further while developing Angular Projects, particularly where enterprise-style management and reporting features are required.
ReplyDeleteThe app sounds worth researching further, and your article provides a useful overview of Xuper Hydra APK for anyone who is unfamiliar with the subject. I found the discussion of user experience especially interesting because an application can have many features but still be difficult to use if the design is confusing. Your explanation gives readers a better framework for thinking about usability, navigation, and functionality. I also appreciate the balanced and accessible writing style throughout the article. It does not assume that every reader already understands the topic. Overall, your post is informative and provides a helpful introduction to Link Xuper Hydra APK.
ReplyDelete