vuejs-confirm-dialog VS vue-modal

Compare vuejs-confirm-dialog vs vue-modal and see what are their differences.

vuejs-confirm-dialog

Makes simple to create, reuse, promisify and build chains of modal dialogs in Vue.js (by harmyderoman)

vue-modal

πŸ––The progressive and simple modal system for Vue.js v3 (by Jenesius)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
vuejs-confirm-dialog vue-modal
1 2
53 124
- -
5.0 8.5
5 months ago about 2 months ago
TypeScript TypeScript
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

vuejs-confirm-dialog

Posts with mentions or reviews of vuejs-confirm-dialog. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-07.
  • The simplest way to deal with modal dialogs in Vue 3
    2 projects | dev.to | 7 May 2022
    In this guide I will introduce the vuejs-confirm-dialog plugin and show how to use it. I'll start with simple examples and end up with a function which completely abstracts the popup dialog to confirm an action and can be used in any component of your project. The examples are written in JavaScript for easy reading, but the plugin itself is in TypeScript. The plugin is fully typed and documented, which makes it much easier to work with it. Unlike vue-modal-dialogs, this plugin has additional functionality - special hooks: onConfirm and onCancel. They accept a callback and are called depending on the user's decision: onConfirm if the user agrees and onCancel if he refuses.

vue-modal

Posts with mentions or reviews of vue-modal. We have used some of these posts to build our list of alternatives and similar projects.
  • Vue Modal Router
    1 project | dev.to | 24 Nov 2023
    Everything I wrote was programmed and put into a separate library jenesius-vue-modal.
  • # A new look at modals in vue 3
    1 project | dev.to | 17 Nov 2023
    from HTML. We will talk about modal windows in the vue ecosystem. Codes and the implementation can be viewed here jenesius-vue-modal. The new teleport feature in the third version of vue allows you to move content to the location you need. And that's cool! Maybe. having tried to use it on my project, my team encountered the following problems: how to support such code when any component can insert something anywhere in your product. We added abstractions, new components that were only used to limit the use of teleport. We used a lot of modal windows in our project. Open one, open another on top, return value from modal, integrate modal window in vue-router is not a complete list of what we implemented. At first we used a cool library, but like this the approach irritated our entire team: :user-id = "id" v-if = "isActive"/> Enter fullscreen mode Exit fullscreen mode For us, It looked awkward and we really wanted to get rid of it. We wanted to get rid of the description of the modal components windows in another component. Our task was to make modal windows to another level, another layer. In vue it is very convenient to use reactive states based on ref/reactive. Add a queue that will store open modal windows: const modalQueue = reactive([]); Enter fullscreen mode Exit fullscreen mode When adding a modal window, we will write the value there, when removing - delete. Everything seems to be very simple. Now to open a modal window add the openModal method: function openModal(component, props) { modalQueue.push({component, props}); } Enter fullscreen mode Exit fullscreen mode To close we use the splice method. Now all that remains is to display the modal windows. Let's create a separate one for this component in which the transferred components will be displayed. Also don't forget to pass props there: v-for = "item in modalQueue" :is = "item.component" v-bind = "item.props" /> Enter fullscreen mode Exit fullscreen mode To open a modal window from our new user card, let's add a click handler and call a new function: @click = "showUserModal">open template> const props = defineProps(['userId']) function showUserModal() { openModal(ModalUser, { userId: props.modalId }) } script> Enter fullscreen mode Exit fullscreen mode also, we must connect this component to App.vue. This is just a short but main part of what we have implemented. For us this approach allows you to build interfaces more accurately and safely. The entire code base can be found in the public repository at GitHub. We tried to give examples on how to use this library. We also described instructions and made nice documentation.

What are some alternatives?

When comparing vuejs-confirm-dialog and vue-modal you can also consider the following projects:

vue-composable - Vue composition-api composable components. i18n, validation, pagination, fetch, etc. +50 different composables

react-native-actions-sheet - A Cross Platform(Android, iOS & Web) ActionSheet with a flexible api, native performance and zero dependency code for react native. Create anything you want inside ActionSheet.

pinia - 🍍 Intuitive, type safe, light and flexible Store for Vue using the composition api with DevTools support

SweetAlert - A beautiful replacement for JavaScript's "alert"

composition-api - Composition API hooks for Nuxt 2.

keukenhof - Lightweight and easy to use the library for modals

pinia - 🍍 Intuitive, type safe, light and flexible Store for Vue using the composition api with DevTools support [Moved to: https://github.com/vuejs/pinia]

react-useportal - πŸŒ€ React hook for Portals

motion - 🀹 Vue Composables putting your components in motion

react-spring-bottom-sheet - Accessible ♿️, Delightful ✨, & Fast πŸš€

vue-modal-dialogs - Promisify dialogs in Vue!

vue-toastification - Vue notifications made easy!