UNPKG

linkmore-design

Version:

🌈 🚀lm组件库。🚀

62 lines (61 loc) • 2.25 kB
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray"; import React, { useState, useContext, forwardRef } from 'react'; import { List, Checkbox } from "../../index"; import PopContext from "../popContext"; import Header from "./header"; var Index = /*#__PURE__*/forwardRef(function (props, ref) { var _useContext = useContext(PopContext), item = _useContext.item, onChange = _useContext.onChange, header = _useContext.header; var dataList = item.data, _renderItem = item.renderItem, _item$mode = item.mode, mode = _item$mode === void 0 ? 'and' : _item$mode, _item$defaultValue = item.defaultValue, defaultValue = _item$defaultValue === void 0 ? [] : _item$defaultValue; var _useState = useState(mode), _useState2 = _slicedToArray(_useState, 2), useMode = _useState2[0], setMode = _useState2[1]; // 查询关系 or||and var _useState3 = useState(defaultValue), _useState4 = _slicedToArray(_useState3, 2), useCheck = _useState4[0], setCheck = _useState4[1]; // 默认选中 var getModeChange = function getModeChange(e) { setMode(e); }; var getChange = function getChange(v) { setCheck(v); var checkValue = dataList.filter(function (o) { return v.includes(o.value); }); var obj = _objectSpread(_objectSpread({}, item), {}, { checkValue: checkValue }); onChange(v, obj, useMode); }; React.useImperativeHandle(ref, function () { return { clearTag: getChange }; }); return /*#__PURE__*/React.createElement(React.Fragment, null, header ? /*#__PURE__*/React.createElement(Header, { getChange: getModeChange }) : null, /*#__PURE__*/React.createElement(Checkbox.Group, { onChange: getChange, value: useCheck, className: "checkbox_roup" }, /*#__PURE__*/React.createElement(List, { itemLayout: "horizontal", dataSource: dataList, renderItem: function renderItem(v) { return /*#__PURE__*/React.createElement(List.Item, null, /*#__PURE__*/React.createElement(Checkbox, { key: v.value, value: v.value }, _renderItem ? _renderItem(v) : v.label)); } }))); }); export default Index;