form 属性的赋值
form中的数据属性尽量弄成undefined
import { FormInstance } from 'antd/lib/form';
const layout = {
labelCol: { span: 4 },
wrapperCol: { span:15 },
};
class OperateComponent extends Component {
formRef = React.createRef<FormInstance >();
render(){
return (
<>
<Form
onFinish={this.submitHandle}
{...layout}
ref={this.formRef}>
</Form>
</>
)
};
}
赋值常用
this.formRef.current?.setFieldsValue({
})
多选框的赋值
// roles=2,3;
this.formRef.current?.setFieldsValue({
roles:roles?roles.split(',').map(item=>(Number(item))):[]
})
输入框的赋值和获取
import {Input} from 'antd'
state={
inputname:undefined,//关键在这里
}
//item是遍历的item
<Input
defaultValue={item.name}
onChange={(event)=>{
this.setState({inputname:event.target.value})
}}
value={this.state.inputname}
/>
输入框回车事件
//record是遍历的record
<Input
style={{width:200}}
onPressEnter={(event)=>{this.handleEnterKey(event,record)}} />
handleEnterKey =(event:any,item:any)=>{
if(event.keyCode===13){
const {id,type} = item;
const {dispatch} = this.props;
let value ={id,type,ratio:event.currentTarget.value};
if(dispatch){
dispatch({
type:'customer/setLedgerTaxRatioEffect',
payload:value,
callback:()=>{
this.getList()
}
})
}
}
};