UNPKG

knk

Version:

react components based on react

70 lines 2.32 kB
/** * 关键字搜索 */ import React, { forwardRef } from 'react'; import PropTypes from 'prop-types'; import { Select, Input, Row, Col } from 'antd'; import '../../../style/select_keyword.less'; var Option = Select.Option; var SelectKeyWord = /*#__PURE__*/forwardRef(function (props, ref) { var handleSelectChange = function handleSelectChange(data) { var onChange = props.onChange, value = props.value; onChange([data, value && value[1] ? value[1] : '']); }; var handleInputChange = function handleInputChange(e) { var value = props.value, onChange = props.onChange; onChange([value[0], e.target.value]); }; var keyWord = props.keyWord, value = props.value, hasDefaultOption = props.hasDefaultOption, defaultOptionValue = props.defaultOptionValue, defaultOptionText = props.defaultOptionText, allowClear = props.allowClear, keySpan = props.keySpan; return /*#__PURE__*/React.createElement(Row, { className: "select-keyword", ref: ref }, /*#__PURE__*/React.createElement(Col, { span: keySpan }, /*#__PURE__*/React.createElement(Select, { allowClear: allowClear, placeholder: "\u8BF7\u9009\u62E9", value: value && value[0] ? value[0] : [], onChange: handleSelectChange }, hasDefaultOption ? null : /*#__PURE__*/React.createElement(Option, { value: defaultOptionValue }, defaultOptionText), keyWord.map(function (item) { return /*#__PURE__*/React.createElement(Option, { key: item.value, value: item.value }, item.text); }))), /*#__PURE__*/React.createElement(Col, { span: 24 - keySpan }, /*#__PURE__*/React.createElement(Input, { allowClear: allowClear, value: value && value[1] ? value[1] : '', onChange: handleInputChange, placeholder: "\u8BF7\u8F93\u5165\u5173\u952E\u8BCD" }))); }); SelectKeyWord.propTypes = { keyWord: PropTypes.array.isRequired, onChange: PropTypes.func, value: PropTypes.array, hasDefaultOption: PropTypes.bool, defaultOptionText: PropTypes.string, defaultOptionValue: PropTypes.string, keySpan: PropTypes.number, allowClear: PropTypes.bool }; SelectKeyWord.defaultProps = { defaultOptionValue: '', defaultOptionText: '请选择', allowClear: true, // 默认可清除 keySpan: 11 }; export default SelectKeyWord;