UNPKG

@jay.kou/rak-ssr

Version:

A react based UI components for admin system

74 lines 2.5 kB
import { Space } from 'antd'; import { useEffect, useRef } from 'react'; import { SchemaForm, Button } from "../../.."; import { jsx as _jsx } from "react/jsx-runtime"; import { jsxs as _jsxs } from "react/jsx-runtime"; var Comp = function Comp(props) { var _props$value = props.value, value = _props$value === void 0 ? {} : _props$value, onChange = props.onChange; useEffect(function () { onChange(value); }, [value]); return /*#__PURE__*/_jsxs("div", { children: [/*#__PURE__*/_jsx("span", { "data-testid": "comp-value", children: value.id }), /*#__PURE__*/_jsx("span", { "data-testid": "comp-name", children: value.name })] }); }; var Demo = function Demo() { var formRef = useRef(); var onFinish = function onFinish(values) { console.log({ values: values }); var resultElement = document.querySelector('[data-testid="result-split"]'); if (resultElement) { resultElement.textContent = JSON.stringify(values, null, 2); } }; return /*#__PURE__*/_jsxs("div", { children: [/*#__PURE__*/_jsxs(Space, { direction: "vertical", children: [/*#__PURE__*/_jsx(Button, { onClick: function onClick() { var _formRef$current; return (_formRef$current = formRef.current) === null || _formRef$current === void 0 ? void 0 : _formRef$current.resetFields(); }, children: "0. \u521D\u59CB\u72B6\u6001" }), /*#__PURE__*/_jsx(Button, { onClick: function onClick() { var _formRef$current2; (_formRef$current2 = formRef.current) === null || _formRef$current2 === void 0 || _formRef$current2.setFieldsValue({ id: '1', name: 'Jennifer' }); }, children: "1. \u7EA6\u5B9A\u5F0F\u8D4B\u503C" }), /*#__PURE__*/_jsx(Button, { onClick: function onClick() { var _formRef$current3; return (_formRef$current3 = formRef.current) === null || _formRef$current3 === void 0 ? void 0 : _formRef$current3.submit(); }, children: "2. \u63D0\u4EA4" })] }), /*#__PURE__*/_jsx(SchemaForm, { formRef: formRef, onFinish: onFinish, columns: [{ title: 'custom', dataIndex: 'id,name_id,name', renderFormItem: function renderFormItem() { return /*#__PURE__*/_jsx(Comp, {}); } }] }), /*#__PURE__*/_jsx("div", { "data-testid": "result-split" })] }); }; export default Demo;