hyb-naive
Version:
对naive-ui组件进行二次封装,主要包含Form表单组件,进行JSON化化配置处理,快速实现表单的录入和页面筛选器功能
105 lines (90 loc) • 2.1 kB
Markdown
# 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>
```