## zji-uview-form

基于uview2.0 的uni-app组件 —— 系列组件库。

#### 安装

推荐使用npm的方式安装

```shell
npm install uview-ui
npm i node-sass -D
npm i sass-loader -D
npm install zji-uview-form
```



#### 引入

###### 1.引入uView主js库

```js
import App from './App'
import Vue from 'vue'
import UViewUi from "uview-ui"; //引入uview库，必须
import ZjiUviewForm from "zji-uview-form"; //引入ZjiUview库

Vue.use(UViewUi); //注册uView，必须
Vue.use(ZjiUviewForm);//注册ZjiView，必须
// uni.$u.config.unit = 'px';
// 调用setConfig方法，方法内部会进行对象属性深度合并，可以放心嵌套配置
// 需要在Vue.use(uView)之后执行
uni.$u.setConfig({
	// 修改$u.config对象的属性
	config: {
		// 修改默认单位为rpx，相当于执行 uni.$u.config.unit = 'rpx'
		unit: 'rpx'
	},
	props: {
		// 修改radio组件的size参数的默认值，相当于执行 uni.$u.props.radio.size = 30
		radio: {
			size: 15
		}
	}
})
Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
    ...App
})
app.$mount()
```





###### 2.在引入uView的全局SCSS主题文件

在项目`src`目录的`uni.scss`中引入此文件。

```css
/* uni.scss */
@import 'uview-ui/theme.scss';
```



###### 3.引入uView基础样式

在`App.vue`中首行的位置引入，注意给style标签加入lang="scss"属性

```css
<style lang="scss">
	/* 注意要写在第一行，同时给style标签加入lang="scss"属性 */
	@import "uview-ui/index.scss";
</style>
```



###### 4.配置easycom组件模式

此配置需要在项目`src`目录的`pages.json`中进行。

```json
// pages.json
{
	"easycom": {
		"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
	},
	
	// 此为本身已有的内容
	"pages": [
		// ......
	]
}
```



###### 5.Cli模式额外配置

如果您是`vue-cli`模式的项目，还需要在项目`根目录`的`vue.config.js`文件中进行如下配置：

```
// vue.config.js，如没有此文件则手动创建
module.exports = {
    transpileDependencies: ['uview-ui']
}
```



# 基本用法



```vue
<template>
	<view class="content">
		<zji-uview-form :headers.sync="headersFlight" 
                        :formData.sync='formData' 
                        @change="getFormValue"
                        @submit="" 
                        showButton
         ></zji-uview-form>
	</view>
</template>
<script>
    import {zji-uview-form} from '....zji-uview-form';
    export default {
        components: {
            ZjiUviewForm,
        },
        data: ()=>({})
    };
</script>
```



#### zji-uview-form Attributes 

| 参数       | 说明                                                  | 类型          | 可选值 | 默认值 |
| ---------- | ----------------------------------------------------- | ------------- | ------ | ------ |
| headers    | 表单配置                                              | array<object> | -      | -      |
| formData   | 存储输入表单的值（已取消）                            | object        | -      | -      |
| showButton | 显示确定按钮                                          | boolean       | false  | true   |
| onlyRead   | 是否禁止输入或点击                                    | boolean       | true   | false  |
| placement  | 如果表单里面有复选框类型的话显示横向或竖向 （已取消） | sting         | column | row    |





#### headers Options 

| 参数        | 说明                                                         | 类型           | 可选值                                                      | 默认值       |
| ----------- | ------------------------------------------------------------ | -------------- | ----------------------------------------------------------- | ------------ |
| type        | 表单类型                                                     | object         | 'text','select','checkbox','date','images','files','plain', | text         |
| rules       | 当前校验字段在 rules 中所对应的校验规则。通过`ref`设置，如果`rules`中有自定义方法等，需要使用`setRules`方法设置规则， | Object         | 'required','message','trigger'                              |              |
| key         | 键名                                                         | sting          | -                                                           | -            |
| label       | 左侧提示文字                                                 | String         | -                                                           | -            |
| sub_label   | 左侧提示文字副标题                                           | String         | -                                                           | -            |
| placeholder | 输入框为空时的占位符                                         | String         | -                                                           | -            |
| required    | 是否显示左边的"*"号，这里仅起展示作用，如需校验必填，请通过`rules`配置必填规则，如需在`swiper`标签内显示星号，需要给予`swiper-item`内第一个根节点一定的`margin`样式 | Boolean        | false                                                       | true         |
| mode        | single:单个日期 <br />range:日期范围  <br />multiple：可以选择多个日期<br />适用于：date<br  />(已取消） | string         | single，range，multiple                                     | single       |
| next_days   | 最大可选日期  （已取消）                                     | Number\|String | -                                                           | 14           |
| last_days   | 最小可选日期  （已取消）                                     | Number\|String | -                                                           | 0            |
| name        | 适用于：images  （已取消）                                   | String         | -                                                           | image        |
| max         | 图片数量<br />适用于：images  （已取消）                     | Number         | -                                                           | 1            |
| emit        | 适用于：images                                               | String         | -                                                           | upload       |
| action      | 上传的url地址<br />适用于：images                            | string         | 'https://bgapi.hzhuishi.cn/api/uploadImg'                   | '/api/upload |



#### Headers  inner  Rules  Options 

| 参数     | 说明                                                         | 类型           | 可选值          | 默认值 |
| -------- | ------------------------------------------------------------ | -------------- | --------------- | ------ |
| required | 是否显示左边的"*"号，这里仅起展示作用，如需校验必填，请通过`rules`配置必填规则，如需在`swiper`标签内显示星号，需要给予`swiper-item`内第一个根节点一定的`margin`样式 | Boolean        | 'false','true'  | true   |
| message  | 校验不通过时的提示信息                                       | string         | -               | -      |
| trigger  | 触发校验的方式有2种：<br />change：字段值发生变化时校验<br />blur：输入框失去焦点时触发 | String \|Array | 'change','blur' |        |



#### zji-uview-form  Events

| 参数   | 说明                                                         | 回调参数 |
| ------ | ------------------------------------------------------------ | -------- |
| change | 表单数据变化就触发   并得到一个对象   对象里面是表单的key和value |          |
| submit | 点击确定按钮获取form 表单的key和value                        |          |
| cancle | 点击取消按钮                                                 |          |



#### comfirm in Events

| 参数 | 说明 |      |
| :--- | ---- | ---- |
|      |      |      |
|      |      |      |
|      |      |      |

