linkmore-design
Version:
π πlmη»δ»ΆεΊγπ
96 lines (95 loc) β’ 3.53 kB
JavaScript
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
/* eslint-disable no-unused-vars */
import React, { useState } from 'react';
import { Select, Divider, Row, Col } from 'antd';
import { PlusOutlined, EditOutlined } from '@ant-design/icons';
import EditFilter from "./edit/editFilter";
var Option = Select.Option;
var Index = function Index(props) {
var type = props.type,
list = props.list,
onChange = props.onChange,
_props$defaultValue = props.defaultValue,
defaultValue = _props$defaultValue === void 0 ? 'all' : _props$defaultValue;
var _useState = useState(false),
_useState2 = _slicedToArray(_useState, 2),
useVisible = _useState2[0],
setVisible = _useState2[1];
// eslint-disable-next-line no-unused-vars
var _useState3 = useState(list.map(function (v) {
return _objectSpread(_objectSpread({}, v), {}, {
isEdit: false
});
})),
_useState4 = _slicedToArray(_useState3, 2),
useSaveList = _useState4[0],
setSaveList = _useState4[1];
var editList = function editList(e, item) {
e === null || e === void 0 ? void 0 : e.stopPropagation();
setVisible(true);
};
// εε»Ίηι
var editFilter = function editFilter() {
setVisible(true);
};
var onClose = function onClose() {
setVisible(false);
};
var handleChange = function handleChange(e) {
onChange === null || onChange === void 0 ? void 0 : onChange(e, 'levelSelect');
};
return /*#__PURE__*/React.createElement(React.Fragment, null, type === 'select' ? /*#__PURE__*/React.createElement(Select, {
dropdownClassName: "first_select",
defaultValue: defaultValue,
dropdownMatchSelectWidth: false,
style: {
width: 112
},
onChange: handleChange
}, useSaveList === null || useSaveList === void 0 ? void 0 : useSaveList.map(function (item) {
return /*#__PURE__*/React.createElement(Option, {
key: item.value,
value: item.value
}, item.label);
})) : /*#__PURE__*/React.createElement(Select, {
dropdownClassName: "first_select",
defaultValue: defaultValue,
dropdownMatchSelectWidth: false,
style: {
width: 112
},
dropdownRender: function dropdownRender(menu) {
return /*#__PURE__*/React.createElement("div", null, menu, /*#__PURE__*/React.createElement(Divider, {
style: {
margin: '4px 0'
}
}), /*#__PURE__*/React.createElement("div", {
className: "add_more"
}, /*#__PURE__*/React.createElement("div", {
onClick: editFilter
}, /*#__PURE__*/React.createElement(PlusOutlined, null), "\u521B\u5EFA\u6211\u7684\u7B5B\u9009")));
}
}, useSaveList === null || useSaveList === void 0 ? void 0 : useSaveList.map(function (item) {
return /*#__PURE__*/React.createElement(Option, {
value: item.value,
key: item.value
}, /*#__PURE__*/React.createElement(Row, {
justify: "space-between",
className: "item_nowarp"
}, /*#__PURE__*/React.createElement(Col, {
className: "item_label",
title: item.label
}, item.label), item.value !== 'all' && /*#__PURE__*/React.createElement(Col, {
className: "item_icon"
}, /*#__PURE__*/React.createElement(EditOutlined, {
onClick: function onClick(e) {
return editList(e, item);
}
}))));
})), /*#__PURE__*/React.createElement(EditFilter, {
visible: useVisible,
onClose: onClose
}));
};
export default Index;