linkmore-design
Version:
🌈 🚀lm组件库。🚀
62 lines (61 loc) • 2.25 kB
JavaScript
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;