UNPKG

@orca-fe/antd-plus

Version:
75 lines 2.58 kB
/** * title: 基本使用 * description: 通过 `valueMapping` 和 `triggerMapping` 将组件的值和触发器映射到 `Form.Item` 的 `name` 和 `trigger` 上,实现组件与多个表单字段的绑定。 */ import React from 'react'; import { Form, Input, Space } from 'antd'; import { FormItemMapping } from "../.."; import { jsx as _jsx } from "react/jsx-runtime"; import { jsxs as _jsxs } from "react/jsx-runtime"; /** 地址组件 */ var Address = props => { var province = props.province, street = props.street, onStreetChange = props.onStreetChange, onDistrictChange = props.onDistrictChange, district = props.district, onProvinceChange = props.onProvinceChange, onCityChange = props.onCityChange, city = props.city; return /*#__PURE__*/_jsxs(Space, { children: [/*#__PURE__*/_jsx(Input, { placeholder: "\u7701", value: province, onChange: e => onProvinceChange === null || onProvinceChange === void 0 ? void 0 : onProvinceChange(e.target.value) }), /*#__PURE__*/_jsx(Input, { placeholder: "\u5E02", value: city, onChange: e => onCityChange === null || onCityChange === void 0 ? void 0 : onCityChange(e.target.value) }), /*#__PURE__*/_jsx(Input, { placeholder: "\u533A", value: district, onChange: e => onDistrictChange === null || onDistrictChange === void 0 ? void 0 : onDistrictChange(e.target.value) }), /*#__PURE__*/_jsx(Input, { placeholder: "\u8857", value: street, onChange: e => onStreetChange === null || onStreetChange === void 0 ? void 0 : onStreetChange(e.target.value) })] }); }; var Demo1 = () => /*#__PURE__*/_jsx("div", { children: /*#__PURE__*/_jsx(Form, { initialValues: { province: '广东省', city: '深圳市', district: '南山区', street: '科技园', areaCode: '0755', number: '12345678', firstName: '张', lastName: '三' }, onValuesChange: (_, allValue) => { console.warn(allValue); }, children: /*#__PURE__*/_jsx(Form.Item, { label: "\u5730\u5740", children: /*#__PURE__*/_jsx(FormItemMapping, { valueMapping: { province: 'province', city: 'city', district: 'district', street: 'street' }, triggerMapping: { onProvinceChange: 'province', onCityChange: 'city', onDistrictChange: 'district', onStreetChange: 'street' }, children: /*#__PURE__*/_jsx(Address, {}) }) }) }) }); export default Demo1;