Пишу приложение в React, делаю форму и столкнулся с проблемой.
Есть модель
PrePaymentParameters.ts
export interface PrePaymentParameters {
PartnerId: number;
OrderNumber: string;
WebSite: string;
AccountNumber: string;
Sign: string;
SumValue: number;
EmailClient: string;
EmailOperator: string;
NumberTransactions: number;
SumTransaction: number;
}
Импортирую ее в форму и кидаю ее в state
import * as React from "react";
import 'bootstrap/dist/css/bootstrap.min.css';
import Field from '../../components/Field/Field';
import Form from '../../components/Form/Form';
import ContentHeader from '../../components/ContentHeader/ContentHeader';
import { PrePaymentParameters } from '../../models/Orders/Operations/PrePaymentParameters'
import {
Card,
CardBody,
Col,
Row,
} from 'reactstrap';
import Axios from "axios";
export interface IFormState {
submitSuccess?: boolean;
prePayment: PrePaymentParameters;
}
export default class PaymentByCardPage extends React.Component<{}, IFormState> {
constructor(props: {}) {
super(props);
this.state = {
prePayment: {
PartnerId: 766,
OrderNumber: "",
WebSite: "sa",
AccountNumber: "",
Sign: "gdfgmsdlkfdfngjm",
SumValue: 0,
EmailClient: "dasd@sad.we",
EmailOperator: "fgh@fd.er",
NumberTransactions: 5,
SumTransaction: 500
}
};
}
Теперь пытаюсь установить значения, когда происходит событие OnChange на Input, но у меня не получается обратиться непосредственно к полю внутри объекта.
<Field id="SumValue" label="Сумма предоплаты" onChange={e => this.setState({ prePayment: {SumValue : 1000 } })}
Есть два вопроса
1. Как мне вставить значение в поле объекта?
2. Как в конструкторе инициализировать поля с типом number? Со строками все понятно можно сделать так
AccountNumber: "", а вот с числами не могу понять как.