# formulate_el_ui
**Repository Path**: sync-github/formulate_el_ui
## Basic Information
- **Project Name**: formulate_el_ui
- **Description**: 方便你在 element-ui 项目中使用 vue-formulate 的一个插件
- **Primary Language**: JavaScript
- **License**: MIT
- **Default Branch**: master
- **Homepage**: https://tu6ge.github.io/formulate-el-ui/
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2021-11-02
- **Last Updated**: 2021-11-02
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README

# formulate-el-ui
本项目为 `vueformulate` 项目加上了 `element-ui` 皮肤,可以让你在 `element-ui` 项目中使用 `vueformulate` 时保持风格统一
> 关于 element-ui 中的 `el-form` 和 `vueformulate` 包的功能比较,我写了一篇 [文章](https://learnku.com/vuejs/t/58162) ,供大家参考借鉴
## 语义化版本
本项目遵循 [语义化版本 2.0](https://semver.org/lang/zh-CN/)
## 在安装之前,需要安装如下 npm 包
- @braid/vue-formulate [中文文档](https://tu6ge.github.io/vueformulate.com/zh/)
- element-ui
## 安装
```
yarn add formulate-el-ui
```
## 快速体验
[点击预览](https://tu6ge.github.io/formulate-el-ui/)
## 使用
### 全局引入
在你的 `main.js` 文件的适当位置加上如下代码:
```
import 'formulate-el-ui/dist/element-ui.min.css';
import formulateElementUI from 'formulate-el-ui'
Vue.use(VueFormulate, {
plugins: [formulateElementUI]
})
```
### 只使用样式
```
import {
theme
} from 'formulate-el-ui'
import 'formulate-el-ui/dist/element-ui.min.css';
Vue.use(VueFormulate, {
plugins: [theme], // 配合上面引入的样式文件,使用 element-ui 的风格
})
```
如果需要使用行内表单(所有的表单域在一行内展示),则可以在 `FormulateForm` 组件上加一个 `el-formulate__form-inline` 样式即可:
```
```
> 要了解更多,请访问 [`form-class` 的文档](https://tu6ge.github.io/vueformulate.com/zh/guide/theming/customizing-classes/)
> 注意:使用行内表单时,展示错误信息使用了 `position:absoulte`, 如果字段中的验证规则有多条错误信息,会导致展示错乱,所以,需要在验证
> 中使用 [`bail` 规则](https://tu6ge.github.io/vueformulate.com/zh/guide/validation/#%E5%81%9C%E6%AD%A2%E9%AA%8C%E8%AF%81) ,
> 这样错误信息就会只展示一条。
### 只修正 checkbox 组件的 help 展示位置
```
import {
CheckboxHelp,
} from 'formulate-el-ui'
Vue.use(VueFormulate, {
plugins: [CheckboxHelp], // CheckboxHelp 用于解决 checkbox 组件中 help 信息展示位置错误的问题
})
```
### 增加中国手机号和身份证号码验证规则、
包含的规则:
- mobile :手机号码格式验证
- idcard :18位身份证格式验证
```
import {
rules,
} from 'formulate-el-ui'
Vue.use(VueFormulate, {
plugins: [rules],
})
```
### 只扩展 element-ui 常用的表单域组件
```
import {
inputs,
} from 'formulate-el-ui'
Vue.use(VueFormulate, {
plugins: [inputs],
})
```
目前包含的组件
| 组件 | FormulateInput type | 支持的 prop |
|----|----|----|
| Input | `el-input` | autosize, clearable, maxlength, minlength,rows,
showPassword, showWordLimit, elType (值为`textarea` 时,是多行文本框) |
| Cascader | `el-cascader` | beforeFilter, clearable, collapseTags, debounce,
disabled, filterMethod, options, placeholder, popperClass,
props, separator, showAllLevels, size |
| ColorPicker 颜色选择器 | `el-color-picker` | colorFormat,predefine,showAlpha |
| InputNumber | `el-input-number` | min,max,step,stepStrictly,precision |
| Rate | `el-rate` | allowHalf,colors,disabledVoidColor,disabledVoidIconClass
,highThreshold,iconClasses,max,lowThreshold,showScore,showText,
texts,testColor,voidColor,voidIconClass |
| Switch | `el-switch` | activeText,inactiveText,activeColor,inactiveColor
| Slider | `el-slider` | formatTooltip,min,marks,max,scoreTemplate,
showTooltip,step,showStops,showInput,showInputControls,
range,vertical,height |
### 必填字段 +v0.2.5
element-ui 的 `el-form-item` 组件,当加上了 `required` prop 后,会显示一个红色 `*` 提示用户该字段必填,现在本项目也已支持,只要是
`FormulateInput` 的验证规则中包含 `required` ,则会默认加上这个红色 `*` ,如果希望强制不显示,则可以在 `FormulateInput` 上设置 `requiredTip` prop 为 `false`,即可:
```
```
## 已知问题
- 项目维护者正在专注于做 vue3 的兼容,目前没有时间处理 issue 以及 pr,虽然这样,但是整个项目有基于 vue2 的完整的单元测试,可以放心使用。
- 在编辑表单中,如果有图片表单域,调用接口后,再把图片数据赋值给表单后,表单不会渲染出来图片,临时处理方案是,可以在 `formulate-form` 组件上加一个 `v-if="loadForm"` `loadForm` 默认值设置为 `false` ,待接口返回数据后,然后再置位 `true`, 即可达到渲染图片的目的
## 文档
查看 [vueformulate 文档](https://vueformulatecom-braid.vercel.app/zh)
## 支持
已推出辅助开发的 vscode 插件,可以点击 [formulate-el-helper](https://marketplace.visualstudio.com/items?itemName=tu6ge.formulate-el-helper) 安装
# 星星
如果你感觉好用,就给项目打个星星吧 ^_^