pinia-plugin-loading
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

Pinia logo Pinia Plugin Loading

Auto loading data binding plugin for pinia. You don't need to write showLoading or hideLoading any more.

Installation

npm install pinia-plugin-loading

or

yarn add pinia-plugin-loading

Usage

import { createPinia } from 'pinia'
import { PiniaLoading } from 'pinia-plugin-loading'
const pinia = createPinia()
pinia.use(PiniaLoading)

All actions in your stores now have a matching, reactive boolean in $loading that indicates whether the action is pending or not.

Example

import { defineStore } from 'pinia'
export const useStore = defineStore('main', {
  state: () => {
    return {
      info: null
    }
  },
  actions: {
    async fetchData() {
      this.info = await request('/api')
    }
  }
})
<template>
  <div>
    <loading v-if="store.$loading.fetchData" message="Loading…" />
  </div>
</template>

<script lang="ts" setup>
import { useStore } from '@/store'
const store = useStore()
</script>

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i pinia-plugin-loading

Weekly Downloads

16

Version

2.0.0

License

MIT

Unpacked Size

7.98 kB

Total Files

5

Last publish

Collaborators

  • sanpiao