import React, { Component, Fragment } from 'react'; import { Form, Select, Input,InputNumber,DatePicker,TreeSelect,Cascader,Checkbox,Radio } from 'antd'; import global from '@/global.less'; import { sldInputAfterAddons, } from '@/utils/utils'; import styles from './SldEditFormCom.less'; const FormItem = Form.Item; const { RangePicker } = DatePicker; const InputGroup = Input.Group; const RadioGroup = Radio.Group; const CheckboxGroup = Checkbox.Group; const Option = Select.Option; const {TextArea} = Input; export default class SldEditFormCom extends Component { componentDidMount() { } //处理input内容变化事件 handleInputOnchange = (e,item) => { if(item.handleChange){ item.handleChange(e); } } //多选事件 sldCheckShop = (items, value) => { if (items.sldCheckShop) { items.sldCheckShop(value); } }; redioOnChange = (e,val) => { if(val.onChange){ val.onChange(e.target.value); } } commonCon = (val,index) => { let { form: { getFieldDecorator },item_width, } = this.props; //普通输入框 item_width = item_width!=undefined?item_width:'auto' if(val.type == 'input'){ // 统一规则定义 const unifyInputRules = [ { validator: (_, value, callback) => { const hasEmoji = /([\u2700-\u27BF]|[\uE000-\uF8FF]|[\uD800-\uDBFF][\uDC00-\uDFFF])/.test(value); if (hasEmoji) { callback('不支持输入表情符号'); } else { callback(); } }, }, ]; return ( {getFieldDecorator(val.name,{initialValue:val.initialValue,rules: [...(val.rules || []), ...unifyInputRules]})( )} ); }else if(val.type == 'inputnum'){ //数字搜索框 return ( {getFieldDecorator(val.name,{initialValue:val.initialValue,rules:val.rules})(this.handleInputOnchange(e,val)}/>)} ); }else if(val.type == 'select'){ //下拉选择框 return ( {getFieldDecorator(val.name,{initialValue:val.initialValue?val.initialValue:undefined,rules:val.rules})( )} ); }else if(val.type == 'textarea'){ return ( {getFieldDecorator(val.name,{initialValue:val.initialValue,rules:val.rules})(