0.0.21 • Published 6 months ago

@unrest/vue-form v0.0.21

Weekly downloads
-
License
MIT
Repository
-
Last release
6 months ago

Unrest Vue Form

This is my attempt at reproducing react-jsonschema-form in vue. There are a few jsonschema forms for vue but none of them supported vue-3 so I decided to write my own. If you're interested, checkout the interactive demo and feel free to open any tickets if you have trouble using it or need a new widget.

Getting started

Add the package to your project

npm install @unrest/vue-form --save
# or
yarn add @unrest/vue-form

app.use(UrForm) to register the components.

import App from './App.vue'
import UrForm from '@unrest/vue-form'
import UrForm from '@unrest/vue-form'

const app = createApp(App)
app.use(UrForm)

// additional app setup

app.mount('#app')

Use the form in any component.

// LoginView.vue
<template>
  <div>
    <h1>Login</h1>
    <unrest-form :schema="schema" @submit="submit" />
  </div>
</template>

<script>
const schema = {
  "type": "object",
  "properties": {
    "email": {
      "type": "text",
      "format": "email",
    },
    "password": {
      "type": "text",
      "format": "password",
      }
    }
  }
}

export default {
  data() {
    return { schema }
  },
  methods: {
    submit(data) {
      console.log(data)
    }
  }
}
</script>

Development

To see changes while developing, use the demo.

# glone repo
cd demo
yarn install
yarn serve

To update documentation (github pages), build the demo app and commit any changes in /docs.

Build and Publish

yarn install
yarn lint
yarn test
yarn build
yarn publish

Datetime Fields

If the schema specifes a format as date time, this library will try to use vue3datepicker. This library is not included in packages. To use it run

npm install @vuepic/vue-datepicker

and then add the following to main.js

import DatePicker from '@vuepic/vue-datepicker'
import '@vuepic/vue-datepicker/dist/main.css'

 createApp(App)
  .component('date-picker', DatePicker)
  ... // everything else here
  .mount("#app")
0.0.20

6 months ago

0.0.21

6 months ago

0.0.19

1 year ago

0.0.18

2 years ago

0.0.17

2 years ago

0.0.16

2 years ago

0.0.15

2 years ago

0.0.14

2 years ago

0.0.13

2 years ago

0.0.12

2 years ago

0.0.11

3 years ago

0.0.10

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.5

3 years ago

0.0.6

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.4

3 years ago

0.0.1

3 years ago