# 自定义可拖拽表单
**Repository Path**: zhaunge/form-create-ydr
## Basic Information
- **Project Name**: 自定义可拖拽表单
- **Description**: 基于form-create-designer 更改ui布局
- **Primary Language**: JavaScript
- **License**: MIT
- **Default Branch**: master
- **Homepage**: https://gitee.com/yangdirun
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-03-12
- **Last Updated**: 2023-03-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# form-create-designer
本项目基于form-create-designer 更改ui布局和部分功能
npm install ydr-form-create
```js
//main.js
import formCreate from '@form-create/element-ui'
import FcDesigner from 'ydr-form-create'
Vue.use(formCreate)
Vue.use(FcDesigner)
```
将node_modules中ydr-form-create/src/components下的*diy-form-item*文件夹直接拖拽至项目components中
使用页
*template*
```html
```
*script*
```javascript
//引入菜单和规则
import { createYdrMenu, rule } from '@/components/diy-form-item/menu'
//引入模板
import model from './xxx'
data() {
return {
formTitle: '表单名称', //表单名称
menu: createYdrMenu(), //引入菜单
model //模板
}
},
mounted() {
rule.forEach(item => {
this.$refs.designer.addComponent(item)//添加规则
})
},
```
模板文件规则
```
export default [
{
name: 'XX', 模板名
id: 1,
model: [] 模板gu
},
{
name: 'XX',
id: 2,
model: []
}
]
```
[](https://github.com/xaboy/form-create-designer)
[](https://github.com/xaboy)
**form-create-designer 是基于 [@form-create/element-ui](https://github.com/xaboy/form-create) 实现的表单设计器组件。可以通过拖拽的方式快速创建表单,提高开发者对表单的开发效率,节省开发者的时间。**
**[文档](http://designer.form-create.com/guide/) | [在线演示](http://form-create.com/designer?fr=github) | [form-create 文档](http://form-create.com/v2/guide/)**
> 如果对您有帮助,您可以点右上角 "Star" 支持一下 谢谢!本项目还在不断开发完善中,如有任何建议或问题[请在这里提出](https://github.com/xaboy/form-create-designer/issues/new)
> 本项目QQ讨论群[28963712](https://jq.qq.com/?_wv=1027&k=54aKUVw)

## 安装
```shell
npm install @form-create/designer
```
## 引入
**CDN:**
```html
```
**NodeJs:**
请自行导入`ElementUI`并挂载
```js
import formCreate from '@form-create/element-ui'
import FcDesigner from '@form-create/designer'
Vue.use(formCreate)
Vue.use(FcDesigner)
```
## 使用
```html
```
## 组件`props`
- **menu**`MenuList` 重新配置拖拽的组件
- **height**`int|string` 设计器组件高度, 默认`100%`
## 组件方法
- 获取当前生成表单的生成规则
```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`**
## 捐赠

## 联系
##### email : xaboy2005@qq.com
## License
[MIT](http://opensource.org/licenses/MIT)
Copyright (c) 2021-present xaboy