Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Jun 27, 2023. It is now read-only.

Easy way to dynamically create reactive forms in Vue based on a varying business object model

License

NotificationsYou must be signed in to change notification settings

asigloo/vue-dynamic-forms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Library Banner

Vue3.x.x Dynamic Forms

Current npm versionMinified sizeVue.js version

Implementing handcrafted forms can be:

  1. Costly
  2. Time-consuming

Especially if you need to create a very large form, in which the inputs are similar to each other, and they change frequently to meet rapidly changing business and regulatory requirements.

So, wouldn't it be more economical to create the forms dynamically? Based on metadata that describes the business object model?

That'sVue Dynamic Forms.

Status: Stable

This is the Vue3.x.x compatible version. Out of the boxTypescript support, tree shakeable, improved accessibility and lighter in size. For Vue2.x.x please use the library tags2.x.

Documentation

Complete documentation and examples available at

You can help me keep working on this project 💚

Generous Unicorns 🦄

OmgImAlexis

Accesible Benevolents 🦄

easingthemes

Installation

$ npm install @asigloo/vue-dynamic-forms

or if you prefer yarn

$ yarn add @asigloo/vue-dynamic-forms

Usage

The installation and usage has change to align with new Vue 3 plugin installation.

To create a newDynamic Form instance, use thecreateDynamicForms function;

import{createApp}from'vue'import{createDynamicForms}from'@asigloo/vue-dynamic-forms'constVueDynamicForms=createDynamicForms()exportconstapp=createApp(App)app.use(VueDynamicForms)

In your component:

<template><dynamic-form :form="form" @change="valueChanged"/></template><scriptlang="ts">import{computed,defineComponent,reactive} from 'vue';import{CheckboxField,TextField,SelectField,} from '@asigloo/vue-dynamic-forms';export default defineComponent({name:'BasicDemo',setup(){    constform=ref({id:'basic-demo',fields:{username:TextField({label:'Username',}),games:SelectField({label:'Games',options:[{value:'the-last-of-us',label:'The Last of Us II',},{value:'death-stranding',label:'Death Stranding',},{value:'nier-automata',label:'Nier Automata',},],}),checkIfAwesome:CheckboxField({label:'Remember Me',}),},});functionvalueChanged(values){console.log('Values',values);}return{form,valueChanged,};},});</script>

Demos

Vue Dynamic Forms Demo

We've prepared some demos to show different use cases of the library and how to use each type of input field.

To check them just run the command bellow which run the app athttp://localhost:3000/

yarn run serve
  • General Form
  • Text Fields
  • Number Fields
  • Select Fields
  • Textarea Fields
  • Radio Fields
  • Login
  • Custom Fields
  • Axios form (Retrieve form structure from an API)
  • TailwindCSS styling

Development

Project setup

yarn install

Compiles and hot-reloads

yarn run serve

Compiles and minifies for production

yarn run build

Generate types

yarn run build:dts

Lints and fixes files

yarn run lint

Run your unit tests

yarn run test

Run your e2e tests

yarn run test

Contributing

If you find this library useful and you want to help improve it, maintain it or just want a new feature, feel free to contact me, or feel free to do a PR 😁.

Todolist

  • Update docs

License

This project is licensed under the MIT License - see theLICENSE.md file for details.

Sponsor this project

  •  

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp