@antdp/fuzzy-query
Version:
基于antd封装的组件 模糊查询 自定义提示
77 lines (76 loc) • 2.42 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _antd = require("antd");
var _jsxRuntime = require("react/jsx-runtime");
var _excluded = ["value", "width", "onClick", "mode", "labelInValue", "ValueField"];
var getCheck = function getCheck(item, value, mode, labelInValue, ValueField) {
if (["tags", "multiple"].includes(mode) && Array.isArray(value)) {
var fig = value.find(function (it) {
if (labelInValue && it) {
return it[ValueField] === item[ValueField];
}
return it === value;
});
if (fig) {
return true;
}
} else {
if (labelInValue && value) {
return value[ValueField] === item[ValueField];
} else {
return value === item[ValueField];
}
}
return false;
};
var _default = exports["default"] = function _default(props) {
var value = props.value,
width = props.width,
_onClick = props.onClick,
mode = props.mode,
labelInValue = props.labelInValue,
ValueField = props.ValueField,
rest = (0, _objectWithoutProperties2["default"])(props, _excluded);
var getCheckMome = _react["default"].useCallback(getCheck, [JSON.stringify(value)]);
var onRow = function onRow(record) {
var check = getCheckMome(record, value, mode, labelInValue, ValueField);
return {
onClick: function onClick() {
return _onClick(record, !check);
},
style: check && {
background: "#e6f7ff"
} || {}
};
};
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
className: "fuzzy-query-table",
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Table, (0, _objectSpread2["default"])({
rowKey: ValueField,
onRow: onRow,
size: "small",
pagination: false,
style: {
width: width
},
scroll: {
y: 300
},
columns: [{
dataIndex: "label",
title: "名称"
}, {
dataIndex: "value",
title: "编号"
}]
}, rest))
});
};
module.exports = exports.default;