1.Input Enter事件javascript
<input onKeyUp={this.onKeyUp} onPressEnter={this.enter} /> onKeyUp = (e) => { if(e.keyCode === 13){ console.log("我是enter") } } enter= (e) => { console.log("我是enter") }
2.表單默認值(讀取後臺數據)java
<FormItem {...formItemLayout} label="手機號碼" > {getFieldDecorator('phone', { rules: [{ required: true, message: '請輸入手機號碼', }], initialValue:info.phone?info.phone:'', })( <Input placeholder="請輸入手機號碼" /> )} </FormItem>
initialValue:info.phone?info.phone:」,
必須使用initialValue來動態賦值正則表達式
3.表單時間ide
const FormItem = Form.Item; <Form hideRequiredMark onSubmit={this.handleSubmit}> <FormItem {...formItemLayout} label="時間" > {getFieldDecorator('joinTime', { rules: [{ required: true, message: '請選擇時間', }], initialValue:info? moment(info.joinTime, "YYYY-MM-DD"):'' })( <DatePicker placeholder='請選擇時間' format="YYYY-MM-DD" /> )} </FormItem> </Form> //提交事件 handleSubmit = (e) => { //新增、編輯=提交 const { newAdd ,page} = this.state; e.preventDefault(); this.props.form.validateFieldsAndScroll((err, values) => { if (!err) { const value = {...values, userId:newAdd,'joinTime': values['joinTime'].format('YYYY-MM-DD'),}; this.props.dispatch({ type: 'member/saveAgentInfo', payload: value, }) } }); }
使用validateFieldsAndScroll()獲取表單數據後joinTime:moment(),須要使用format()轉化一下ui
4.清空表單this
setModal1Hide(modal1Visible) { this.setState({ modal1Visible:modal1Visible, }) this.props.dispatch({ type: 'member/delFrom', payload: { oneMemberInfo:null }, }); this.props.form.resetFields() //清空全部 }
5.表單中嵌套動態選擇框spa
<FormItem {...formItemLayout} label="店名"> {getFieldDecorator('agentId', { rules: [{ required: true, message: '選擇加盟店', }], initialValue:OrderByOrderNo.storeName })( <Select defaultValue={OrderByOrderNo.storeName} className={styles.typeBtn}> {AgentList.map(d => <Option value={d.userId} >{d.storeName}</Option>)} </Select> )} </FormItem>
6.表單中使用正則表達式驗證手機號orm
<FormItem {...formItemLayout} label="手機號碼" > {getFieldDecorator('phone', { rules: [{ required: true, message: '請輸入手機號碼', }, { pattern: /^1\d{10}$/, message: '手機號格式錯誤!', }], initialValue:oneMemberInfo?oneMemberInfo.phone:'', validateTrigger:'onBlur' })( <Input placeholder="請輸入手機號碼" /> )} { newAdd ? '' : <span className="ant-form-text" style={{color:'#389e0d'}}> *手機號爲加盟店登陸帳號及初始密碼,請確保正確 </span> } </FormItem>
.blog