/* eslint-disable no-unused-vars, no-debugger */ import React, { useState, useLayoutEffect, Component } from 'react'; import { storiesOf } from '@storybook/react'; import { Button, Modal, TreeSelect, Row, Col, Avatar, Select as BasicSelect, Form, useFormState, useFormApi, useFieldApi, useFieldState, withFormState, withFormApi, withField, ArrayField, AutoComplete } from '../../../index'; import { BASE_CLASS_PREFIX } from '@douyinfe/semi-foundation/base/constants'; import { ComponentUsingFormState, CustomStringify } from '../Hook/hookDemo'; const { Input, Select, DatePicker, Switch, Slider, CheckboxGroup, Checkbox, RadioGroup, Radio, TimePicker, InputNumber, InputGroup, } = Form; // 这里将html原生的input封装 const htmlInput = props => { let { validateStatus, ...rest } = props; let value = props.value || ''; return ; }; const CustomInput = withField(htmlInput, { valueKey: 'value', onKeyChangeFnName: 'onChange', valuePath: 'target.value', }); class CustomFieldDemo extends React.PureComponent { render() { // 观察formState,看input的数据流是否已被form接管 const ComponentUsingFormState = () => { const formState = useFormState(); return (
{CustomStringify(formState)}
);
};
return (
);
}
}
const StateFulSelect = ({ value, onChange, onBlur, validateStatus }) => {
const [song, setSong] = useState([]);
const onSearch = inputValue => {
if (inputValue === '') {
setSong([]);
} else {
let songs = ['@XiamiMusic', '@TmeMusic', '@NeteaseMusic'].map(company => ({
value: String(inputValue) + company,
label: String(inputValue) + company,
}));
setSong(songs);
}
};
return (