UNPKG

hyb-naive

Version:

对naive-ui组件进行二次封装,主要包含Form表单组件,进行JSON化化配置处理,快速实现表单的录入和页面筛选器功能

105 lines (90 loc) 2.1 kB
# hyb-naive 这是一个对 NaiveUI 表单组件(Form),进行JSON配置化处理,简化其复杂的实现过程,主要包含两种模式:FORM(表单录入),FILTER(筛选器)两种模式; 目前主要包含以下三个组件,针对不同的场景的表单使用: - HForm 动态表单组件 - HFormModal表单弹框组件 - HFormDrawer 表单抽屉组件 ## 安装 npm install hyb-form or yarn add hyb-form or pnpm add hyb-form ## 实现一个简单的筛选器 ```ts <template> <HForm type="FILTER" :rules="filterRules" card @search="search"/> </template> <script lang="ts" setup> import { FormRule, FormApi, HForm } from 'hyb-naive' import { reactive } from 'vue' const filterRules:FormRule[]=[ { field: 'category', compType: 'Select', label: '项目类别', options:[ { label: '项目1', value: '1', }, { label: '项目2', value: '2', }, ], }, { field: 'projectName', compType: 'Input', label: '项目名称', }, { label: '操作时间', field: 'time', compType: 'DatePicker', fullWidth: true, props: { type: 'datetimerange', } }, ] //搜索 function search(searchParams: Record<string,any>) { console.log('searchParams', searchParams) } </script> ``` ## 实现一个简单的表单录入 ```ts <template> <HForm type="FORM" :rules="formRules" card @confirm="submit"/> </template> <script lang="ts" setup> import { FormRule, FormApi, HForm } from 'hyb-naive' import { reactive } from 'vue' const formRules:FormRule[] = [ { field: 'name', compType: 'Input', label: '姓名', required: true, }, { field: 'sex', compType: 'Select', label: '性别', required: true, options:[ { label: '项目1', value: '1', }, { label: '项目2', value: '2', }, ], }, { label: '年龄', field: 'age', required: true, validateType: 'number', compType: 'InputNumber', }, ] //搜索 function submit(formData: Record<string,any>) { console.log('formData', formData) } </script> ```