UNPKG

linkmore-design

Version:

🌈 🚀lm组件库。🚀

44 lines (43 loc) 1.35 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); /* options: 展示的标签项 type: 'radio' / 'checkbox' value: 选中的值 onChang: 选中时触发事件 */ const ButtonTags = props => { const { value, onChange, disabled, type = 'checkbox', options, size } = props; const handleClick = item => { if (type === 'radio') { const nValue = value === item.value ? '' : item.value; onChange?.(nValue); } else { const oriValue = value || []; const has = oriValue?.includes(item.value); const nValue = has ? oriValue.filter(v => v !== item.value) : [...oriValue, item.value]; onChange?.(nValue); } }; return /*#__PURE__*/_react.default.createElement("div", { className: `lm_base_button_tag_Group ${size === 'small' ? 'small' : ''} ${disabled ? 'disabled' : ''}` }, options?.map(item => /*#__PURE__*/_react.default.createElement("div", { key: item.value, className: `button_tag_item ${value?.indexOf(item.value) > -1 ? 'active' : ''}`, onClick: () => handleClick(item) }, item.label))); }; var _default = ButtonTags; exports.default = _default;