2.0.4 • Published 2 years ago
xui-form v2.0.4
x-form
react组件开发规范
创建组件的方式
npm安装
npm install xui-form --save
使用方式
<Form onSubmit={this.onSubmit.bind(this)} >
<Form.Item>
{getFieldDecorator('obj.name',{value:'aa'})(
<Input onChange={this.onChange.bind(this)}/>
)}
</Form.Item>
<Form.Item>
{getFieldDecorator('biz.password',{rules:[
{
required:true, message:'必填项'
},{
pattern:/^\d*$/, message:'只能输入数字'
}
]})(
<Input type="password" ref={ref=>this.passRef=ref}/>
)}
</Form.Item>
<Form.Item>
{getFieldDecorator('obj.sex',{value:['2']})(
<Select placeholder="请选择" multiple={true} width={180} >
<Option value="1">这是一段很长很长的文字这是一段很长很长的文字</Option>
<Option value="6">我好2</Option>
</Select>
)}
</Form.Item>
<Form.Item>
<button type="submit" value="提交">提交</button>
</Form.Item>
</Form>
API
方法 | 说明 | 类型 | 默认值 |
---|---|---|---|
getFieldDecorator | 用于和表单进行双向绑定 | ||
getFormData | 获取表单数据对象 | ||
setFieldsValue | 设置表单数据绑定 | ||
validateFields | 验证表单所有元素 |
getFieldDecorator(id, options) 参数
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
id | 必填输入控件唯一标志。支持嵌套式的写法。 | string | |
options.rules | 验证规则 | ||
options.value | 子节点的初始值,类型、可选值均由子节点决定 |
校验规则
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
required | 不为空 | bool | |
minLength | 最小长度 | number | |
maxLength | 最大长度 | number | |
min | 最小值 | number | |
max | 最大值 | number | |
pattern | 正则表达式 | Regex | |
custom | 自定义验证 | string | 需要在组件的构造函数中调用this.props.onLoad(this) ,然后声明对应的验证方法,返回true 或false |
async | 异步验证 | string | 异步验证需要在组件中定义对应的方法,接收value值并返回promise |
全局添加验证规则
Form.addMethod('testRule',(v)=>{
if(v=='123'){
return false;
}else{
return true;
}
})
或者自定义提示信息
Form.addMethod('testRule',(v,props,data)=>{
if(v=='123'){
return {success:false,message:'最大值'};
}else{
return true;
}
})
异步验证
asyncValidate(v) {
return new Promise((resovle, reject) => {
fetch('http://192.168.80.37:8080/demo/del.action', {
method: 'POST'
}).then(function (response) {
return response.json();
}).then(res => {
console.log(res)
if (res.success) {
resovle();
} else {
reject('ajax error')
}
})
})
}
{getFieldDecorator('biz.password.txb', {
rules: [{
required: true, message: '密码必填项'
}, {
custom: 'validate', message: "自定义验证"
},
{
async: 'asyncValidate', message: "异步验证"
}]
})(
<NewPassWord ref={ref => this.passRef = ref} />
)}
关于作者
https://github.com/tianxiangbing
xui
react xui组件一直在持续更新中,欢迎大家关注https://github.com/react-xui
2.0.4
2 years ago
2.0.3
2 years ago
2.0.2
2 years ago
2.0.1
2 years ago
2.0.0
3 years ago
1.4.4
3 years ago
1.4.3
3 years ago
1.4.2
3 years ago
1.4.1
3 years ago
1.4.0
3 years ago
1.3.9
3 years ago
1.3.8
3 years ago
1.3.7
4 years ago
1.3.6
4 years ago
1.3.4
4 years ago
1.3.3
4 years ago
1.3.2
4 years ago
1.3.1
4 years ago
1.3.0
4 years ago
1.2.9
4 years ago
1.2.8
4 years ago
1.2.7
4 years ago
1.2.6
4 years ago
1.2.5
4 years ago
1.2.4
4 years ago
1.2.3
4 years ago
1.1.7
4 years ago
1.2.2
4 years ago
1.2.1
4 years ago
1.1.6
4 years ago
1.1.5
4 years ago
1.1.4
4 years ago
1.1.3
4 years ago
1.1.2
4 years ago
1.1.1
5 years ago
1.1.0
5 years ago
1.0.9
5 years ago
1.0.8
5 years ago
1.0.7
5 years ago
1.0.6
5 years ago
1.0.5
5 years ago
1.0.4
5 years ago
1.0.3
5 years ago
1.0.2
5 years ago
1.0.1
5 years ago
1.0.0
5 years ago
0.0.9
5 years ago
0.0.8
5 years ago
0.0.7
5 years ago
0.0.6
5 years ago
0.0.5
5 years ago
0.0.4
5 years ago
0.0.3
5 years ago
0.0.2
5 years ago
0.0.1
5 years ago
0.0.0
5 years ago