UNPKG

@flatbiz/antd

Version:
60 lines (56 loc) 1.86 kB
/*! @flatjs/forge MIT @flatbiz/antd */ import { Space, Radio } from 'antd'; import { valueIsEqual } from '@flatbiz/utils'; import { jsx } from 'react/jsx-runtime'; /** * RadioGroupWrapper 为了解决 RadioGroup 组件不能取消选中问题 * @param props * @returns */ var RadioGroupWrapper = function RadioGroupWrapper(props) { var onChange = function onChange(event) { return new Promise(function ($return, $error) { var _props$onChange, value; value = event.target.value; if (props.onPreChange) { return Promise.resolve(props.onPreChange(value)).then(function ($await_2) { try { return $If_1.call(this); } catch ($boundEx) { return $error($boundEx); } }.bind(this), $error); } function $If_1() { (_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props, value); return $return(); } return $If_1.call(this); }); }; var onClick = function onClick(event) { if (!props.isCancel) return; var value = event.target.value; if (valueIsEqual(props.value, value)) { var _props$onChange2; (_props$onChange2 = props.onChange) === null || _props$onChange2 === void 0 || _props$onChange2.call(props, undefined); } }; return /*#__PURE__*/jsx(Space, { size: 5, wrap: true, direction: props.direction, children: props.options.map(function (item) { return /*#__PURE__*/jsx(Radio, { value: item.value, onClick: onClick, checked: props.value === item.value, onChange: onChange, disabled: props.disabled || item.disabled, children: item.label }, String(item.value)); }) }); }; export { RadioGroupWrapper as R }; //# sourceMappingURL=radio-group-wrapper-Dip9OsdR.js.map