# naiveui-form-designer
**Repository Path**: logicyle/naiveui-form-designer
## Basic Information
- **Project Name**: naiveui-form-designer
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2025-05-08
- **Last Updated**: 2025-05-08
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# naiveui-form-designer
**这个是基于naiveui Vue3 版本**
> @form-create/designer
的基础上将element-ui替换为naiveui
**naiveui-form-designer 是基于 [@form-create/designer](https://github.com/xaboy/form-create) vue3版本实现的表单设计器组件。可以通过拖拽的方式快速创建表单,提高开发者对表单的开发效率,节省开发者的时间。**

## 引入
**NodeJs:**
```shell
npm i naiveui-form-designer
```
请自行导入`naiveui`并挂载
```js
import FcDesigner from 'naiveui-form-designer'
const designer = ref()
```
## 使用
```html
```
## 设置多语言
通过 locale 配置项设置语言
```vue
```
## 组件`props`
- **menu**`MenuList` 重新配置拖拽的组件
- **height**`int|string` 设计器组件高度, 默认`100%`
- **locale**`object` 设置多语言
- **config**`Config` 设置多语言
- **mask** `boolean` 设置拖拽表单中的组件是否可以操作
## 组件方法
- 获取当前生成表单的生成规则
```ts
type getRule = () => Rule[]
```
**示例: `this.$refs.designer.getRule()`**
- 获取当前表单的全局配置
```ts
type getOption = () => Object
```
- 设置当前生成表单的规则
```ts
type setRule = (rules: Rule[]) => void;
```
- 设置当前表单的全局配置
```ts
type setOption = (option: Object) => void;
```
- 增加一组拖拽组件
```ts
type addMenu = (menu: Menu) => void;
```
- 删除一组拖拽组件
```ts
type removeMenu = (name: string) => void;
```
- 批量覆盖插入拖拽组件
```ts
type setMenuItem = (name: string, items: MenuItem[]) => void;
```
- 插入一个拖拽组件到分组
```ts
type appendMenuItem = (name:string, item: MenuItem) => void;
```
- 删除一个拖拽组件
```ts
type removeMenuItem = (item: string | MenuItem) => void;
```
- 新增一个拖拽组件的生成规则
```ts
type addComponent = (item: DragRule) => void;
```
> **提示! 内置的三个组件分组`name`分别为: `main`,`aide`,`layout`**
## License
[MIT](http://opensource.org/licenses/MIT)
Copyright (c) 2023-present chengliang4810