linkmore-design
Version:
🌈 🚀lm组件库。🚀
59 lines (58 loc) • 1.99 kB
JavaScript
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
import React, { useState, useContext } from 'react';
import { List } from "../../index";
import cn from 'classnames';
import PopContext from "../popContext";
import Header from "./header";
var Index = function Index() {
var _useContext = useContext(PopContext),
item = _useContext.item,
onChange = _useContext.onChange,
header = _useContext.header;
var toggle = item.toggle,
dataList = item.data,
_item$mode = item.mode,
mode = _item$mode === void 0 ? 'and' : _item$mode,
_renderItem = item.renderItem;
var _useState = useState(mode),
_useState2 = _slicedToArray(_useState, 2),
useMode = _useState2[0],
setMode = _useState2[1]; // 查询关系:or||and
var _useState3 = useState(),
_useState4 = _slicedToArray(_useState3, 2),
useActive = _useState4[0],
setActive = _useState4[1]; // 选中状态
var getModeChange = function getModeChange(e) {
setMode(e);
};
var getChange = function getChange(v) {
var nValue = toggle ? v : v.value;
if (toggle) {
onChange(nValue);
} else {
var obj = _objectSpread(_objectSpread({}, item), {}, {
checkValue: [v]
});
onChange(nValue, obj, useMode);
setActive(v.value);
}
};
return /*#__PURE__*/React.createElement(React.Fragment, null, header ? /*#__PURE__*/React.createElement(Header, {
getChange: getModeChange
}) : null, /*#__PURE__*/React.createElement(List, {
itemLayout: "horizontal",
dataSource: dataList,
renderItem: function renderItem(v, i) {
return /*#__PURE__*/React.createElement(List.Item, {
className: cn({
active: v.value && useActive === v.value
}),
onClick: function onClick() {
return getChange(v);
}
}, _renderItem ? _renderItem(v, i) : v.label);
}
}));
};
export default Index;