linkmore-design
Version:
🌈 🚀lm组件库。🚀
59 lines (57 loc) • 1.9 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireWildcard(require("react"));
var _index = require("../../index");
var _classnames = _interopRequireDefault(require("classnames"));
var _popContext = _interopRequireDefault(require("../popContext"));
var _header = _interopRequireDefault(require("./header"));
const Index = () => {
const {
item,
onChange,
header
} = (0, _react.useContext)(_popContext.default);
const {
toggle,
data: dataList,
mode = 'and',
renderItem
} = item;
const [useMode, setMode] = (0, _react.useState)(mode); // 查询关系:or||and
const [useActive, setActive] = (0, _react.useState)(); // 选中状态
const getModeChange = e => {
setMode(e);
};
const getChange = v => {
const nValue = toggle ? v : v.value;
if (toggle) {
onChange(nValue);
} else {
const obj = {
...item,
checkValue: [v]
};
onChange(nValue, obj, useMode);
setActive(v.value);
}
};
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, header ? /*#__PURE__*/_react.default.createElement(_header.default, {
getChange: getModeChange
}) : null, /*#__PURE__*/_react.default.createElement(_index.List, {
itemLayout: "horizontal",
dataSource: dataList,
renderItem: (v, i) => /*#__PURE__*/_react.default.createElement(_index.List.Item, {
className: (0, _classnames.default)({
active: v.value && useActive === v.value
}),
onClick: () => getChange(v)
}, renderItem ? renderItem(v, i) : v.label)
}));
};
var _default = Index;
exports.default = _default;