@jay.kou/rak-ssr
Version:
A react based UI components for admin system
74 lines • 2.5 kB
JavaScript
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;