npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

xinya-form

v0.0.23

Published

表单生成器|Form builder with dynamic rendering, data collection, validation and submission capabilities, built-in 17 commonly used form components, and supports the use of json to generate any vue component, supporting two-way data binding, event expansion.

Downloads

45

Readme

xinya-form

npm version Build Status styled with prettier npm

基于iview的动态渲染组件

Demo

Usage

Install

npm i xinya-form

Import

import Vue from 'vue'
import XinyaForm from 'xinya-form'

Vue.use(XinyaForm)

Use it!

xinya-form offers two ways of using a XinyaForm.

Default Usage

In the sample below, the collection is instantiated as an Array and passed directly to the XinyaForm in that form.

<template>
  <div>
    <xinya-form ref="fc" v-model="fApi" :rule="rule" :option="option"></xinya-form>
  </div>
</template>

<script>
    import { handleFormRule } from "xinya-form";

    export default {
        data() {
            return {
            fApi: {},
            model: {},
            rule: handleFormRule(formJSON),
            option: {
                onSubmit: function(formData) {
                }
            }
            };
        },
        mounted: function() {
            this.model = this.fApi.model();
        }
    };
</script>

Default Props

    {
        //插入节点,默认document.body
        el:null,
            
        //是否自动转换规则中的 maker 生成器为对象
        switchMaker:true,
            
        //是否开启iframe组件子页面助手函数
        //`${field}_change(value)`
        //只能设置当前字段的 value
        //form_create_helper.close(field)
        //form_create_helper.get(field)
        //form_create_helper.set(field,value)
        //快速修改该组件的value. 跨域无效!!
        iframeHelper:false,
            
        //form配置
        form:{

            //是否开启行内表单模式
            inline:false,
            //表单域标签的位置,可选值为 left、right、top
            labelPosition:'right',
            //表单域标签的宽度,所有的 FormItem 都会继承 Form 组件的 label-width 的值
            labelWidth:125,
            //是否显示校验错误信息
            showMessage:true,
            //原生的 autocomplete 属性,可选值为 off 或 on
            autocomplete:'off',

        },

        //row布局配置
        row:{

            //栅格间距,单位 px,左右平分
            gutter:0,
            //布局模式,可选值为flex或不选,在现代浏览器下有效
            type:undefined,
            //flex 布局下的垂直对齐方式,可选值为top、middle、bottom
            align:undefined,
            //flex 布局下的水平排列方式,可选值为start、end、center、space-around、space-between
            justify:undefined,
            //自定义的class名称
            className:undefined

        },

        //上传组件全局配置
        upload:{

            //上传文件之前的钩子,参数为上传的文件,若返回 false 或者 Promise 则停止上传
            beforeUpload:()=>{},
            //文件上传时的钩子,返回字段为 event, file, fileList
            onProgress:(event, file, fileList)=>{},
            //文件上传成功时的钩子,返回字段为 response, file, fileList,
            //若需有把文件添加到文件列表中,在函数值返回即可
            onSuccess:(response, file, fileList)=>{
                // return 'filePath';
            },
            //文件上传失败时的钩子,返回字段为 error, file, fileList
            onError:(error, file, fileList)=>{},
            //点击已上传的文件链接时的钩子,返回字段为 file, 
            //可以通过 file.response 拿到服务端返回数据
            onPreview:(file)=>{},
            //文件列表移除文件时的钩子,返回字段为 file, fileList
            onRemove:(file, fileList)=>{},
            //文件格式验证失败时的钩子,返回字段为 file, fileList
            onFormatError:(file, fileList)=>{},
            //文件超出指定大小限制时的钩子,返回字段为 file, fileList
            onExceededSize:(file, fileList)=>{},
            //辅助操作按钮的图标 ,设置为false将不显示
            handleIcon:'ios-eye-outline',
            //点击辅助操作按钮事件
            onHandle:(src)=>{},
            //是否可删除,设置为false是不显示删除按钮
            allowRemove:true,

        },
            
        //表单创建成功后回调函数
        mounted:($f)=>{},
        //表单提交事件
        onSubmit:(formData)=>{},
        //表单重载后回调函数`onReload`全局配置项,可用于更新`$f` 
        //>=1.5.3版本
        onReload:($f)=>{}

        //提交按钮配置,设置submitBtn=false或submitBtn.show=false时不显示按钮
        submitBtn:{

            //按钮类型,可选值为primary、ghost、dashed、text、info、success、warning、error或者不设置
            type:"primary",
            //按钮大小,可选值为large、small、default或者不设置
            size:"large",
            //按钮形状,可选值为circle或者不设置
            shape:undefined,
            //开启后,按钮的长度为 100%
            long:true,
            //设置button原生的type,可选值为button、submit、reset
            htmlType:"button",
            //设置按钮为禁用状态
            disabled:false,
            //设置按钮的图标类型
            icon:"ios-upload",
            //按钮文字提示
            innerText:"提交",
            //设置按钮为加载中状态
            loading:false,
            //默认显示
            show:true,
            //设置提交按钮布局规则,参考 col 栅格布局规则
                    col:undefined
        },

        //重置按钮默认配置,设置resetBtn=true或resetBtn.show=true时显示
        resetBtn:{
            
            //配置说明同上
            type:"ghost",
            size:"large",
            shape:undefined,
            long:true,
            htmlType:"button",
            disabled:false,
            icon:"refresh",
            innerText:"重置",
            loading:false,
            //默认不显示
            show:false,
            //设置重置按钮布局规则,参考 col 栅格布局规则
            col:undefined

        }
    }