import React, { useState, useLayoutEffect } from 'react'; import { storiesOf } from '@storybook/react'; import { Button, Modal, TreeSelect, Row, Col, Avatar, TextArea, Select as BasicSelect, Form, useFormState, useFormApi, useFieldApi, useFieldState, withFormState, withFormApi, withField, ArrayField, AutoComplete, Collapse, Icon, } from '../../../index'; import { ComponentUsingFormState, CustomStringify } from '../Hook/hookDemo'; const { Input, Select, DatePicker, Switch, Slider, CheckboxGroup, Checkbox, RadioGroup, Radio, TimePicker, InputNumber, InputGroup } = Form; class SetValuesDemo extends React.Component { constructor() { super(); this.formApi = null; this.state = { flag: false, }; this.getFormApi = this.getFormApi.bind(this); this.change = this.change.bind(this); } change() { let a = this.formApi.getFieldExist('ffff'); let b = this.formApi.getFieldExist('name'); this.formApi.setValues({ name: 'nike', notExist: '12' }, { isOverride: true }); this.setState({ flag: true }); } getFormApi(formApi) { this.formApi = formApi; } render() { const { flag } = this.state; return (
console.log(v)} onSubmit={v => console.log(v)}> {({ formState }) => ( <> {/* { flag ? : null} */} 我已阅读并清楚相关规定(Checkbox) {CustomStringify(formState)} )}
); } } class SetValuesWithArrayField extends React.Component { constructor() { super(); this.formApi = null; this.state = { flag: false, }; this.getFormApi = this.getFormApi.bind(this); this.change = this.change.bind(this); } change() { let length = Math.floor(Math.random() * 100); let newEffect = Array.from({ length }, (v, i) => { return { name: Math.random(), type: Math.random() }; }); this.formApi.setValues({ name: 'nike', notExist: '12', effects: newEffect }, { isOverride: true }); } getFormApi(formApi) { this.formApi = formApi; } render() { const { flag } = this.state; return (
console.log(v)} onSubmit={v => console.log(v)}> {({ formState }) => ( <> {({ add, arrayFields }) => ( { arrayFields.map(({ field, key, remove }, i) => (
)) }
)}
)}
); } } export { SetValuesDemo, SetValuesWithArrayField };