@react-vant-next/campaign
Version:
React Mobile UI Components based on Vant UI - Next Generation
34 lines (29 loc) • 1.25 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var jsxRuntime = require('react/jsx-runtime');
var utils = require('@react-vant-next/utils');
var cls = require('clsx');
var React = require('react');
const [bem] = utils.createNamespace("sku-row");
const SkuRowPropItem = (props) => {
var _a;
const choosed = React.useMemo(() => {
const { selectedProp, skuKeyStr, skuValue } = props;
if (selectedProp && selectedProp[skuKeyStr]) {
return selectedProp[skuKeyStr].includes(skuValue.id);
}
return false;
}, [
JSON.stringify(props.selectedProp),
JSON.stringify(props.skuValue),
props.skuKeyStr,
]);
const onSelect = () => {
props.onSkuPropSelected(Object.assign(Object.assign({}, props.skuValue), { skuKeyStr: props.skuKeyStr, multiple: props.multiple }));
};
return (jsxRuntime.jsx("span", { className: cls(bem("item", {
active: choosed,
})), onClick: onSelect, children: jsxRuntime.jsx("span", { className: cls(bem("item-name")), children: (_a = props.skuValue) === null || _a === void 0 ? void 0 : _a.name }) }));
};
exports.default = SkuRowPropItem;
//# sourceMappingURL=SkuRowPropItem.js.map