0.2.1 • Published 1 year ago

noir-form-render v0.2.1

Weekly downloads
-
License
-
Repository
-
Last release
1 year ago

form-render live Demo

image

install

npm i vue3-form-render --save

vue3 form render depend on Ant Design of Vue to render from items.so before we use vue3 form render we need to install Ant Design of Vue and import it to our project:

import { createApp } from 'vue'
import App from './App.vue'

import Antd from 'ant-design-vue';
import 'ant-design-vue/dist/antd.css';

const app = createApp(App);
app.use(Antd);
app.mount('#app');

easy demo

<template>
  <div>
    <formRender
      :schema="schema"
      :formData="formData"
      @on-change="change"
      @on-validate="validate"
    />
  </div>
</template>

<script>
import {reactive, toRefs} from 'vue';

// render index
import FormRender from 'vue3-form-render';
// form render style
import 'vue3-form-render/lib/vue3-form-render.css';

export default {
  name: 'App',
  setup() {
    const state = reactive({
      schema: {
        type: 'object',
        properties: {
          string: {
            title: 'string',
            type: 'string',
            maxLength: 4,
            'ui:options': {
              placeholder: 'enter more than 4 characters',
            },
          }
        },
      },
      formData: {
        string: 'aaa'
      },
    });

    const change = (v) => {
      state.formData = v;
      console.log(v);
    }
    const validate = (v) => {
      console.log(v);
    }

    return {
      ...toRefs(state),
      change,
      validate,
    }
  },
  components: {
    FormRender,
  }
}
</script>

Documentation

For extensive documentation see the examples folder or read it on vue3-form-render

API

Props

PropertyDescriptionTypeDefault
schameJSON Schemaobject--
formDataformDataobject--

Events

Events NameDescriptionArguments
on-changeCallback function for user to trigger form updatefunction(value: formData)
on-validateValidation callback function for user to trigger form updatefunction(value: validates)

Special thanks

this Project inspiration from form-render but There is no similar framework for Vue 3.x

License

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