UNPKG

@ant-design/react-native

Version:

基于蚂蚁金服移动设计规范的 React Native 组件库

1 lines 5.21 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _icon=_interopRequireDefault(require("../icon"));var _style=require("../style");var _getLocale=require("../_util/getLocale");var _PropsType=require("./PropsType");var _index=_interopRequireDefault(require("./style/index"));var _localeProvider=require("../locale-provider");function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=(0,_getPrototypeOf2["default"])(Derived),result;if(hasNativeReflectConstruct){var NewTarget=(0,_getPrototypeOf2["default"])(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return(0,_possibleConstructorReturn2["default"])(this,result);};}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}var __rest=void 0&&(void 0).__rest||function(s,e){var t={};for(var p in s){if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];}if(s!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++){if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]];}return t;};var SearchBar=function(_React$Component){(0,_inherits2["default"])(SearchBar,_React$Component);var _super=_createSuper(SearchBar);function SearchBar(props){var _this;(0,_classCallCheck2["default"])(this,SearchBar);_this=_super.call(this,props);_this.onSubmit=function(_){if(_this.props.onSubmit){_this.props.onSubmit(_this.state.value||'');}};_this.onChangeText=function(value){if(!('value'in _this.props)){_this.setState({value:value});}if(_this.props.onChange){_this.props.onChange(value);}};_this.onCancel=function(){if(_this.props.onCancel){_this.props.onCancel(_this.state.value||'');}};_this.onFocus=function(e){_this.setState({focus:true});if(_this.props.onFocus){_this.props.onFocus(e);}};_this.onBlur=function(e){_this.setState({focus:false});if(_this.props.onBlur){_this.props.onBlur(e);}};var value;if('value'in props){value=props.value;}else if('defaultValue'in props){value=props.defaultValue;}else{value='';}_this.state={value:value,focus:false};return _this;}(0,_createClass2["default"])(SearchBar,[{key:"UNSAFE_componentWillReceiveProps",value:function UNSAFE_componentWillReceiveProps(nextProps){if('value'in nextProps){this.setState({value:nextProps.value});}}},{key:"render",value:function render(){var _this2=this;var _a=this.props,showCancelButton=_a.showCancelButton,styles=_a.styles,propsValue=_a.value,cancelText=_a.cancelText,onChangeText=_a.onChangeText,onChange=_a.onChange,disabled=_a.disabled,style=_a.style,restProps=__rest(_a,["showCancelButton","styles","value","cancelText","onChangeText","onChange","disabled","style"]);var _locale=(0,_getLocale.getComponentLocale)(this.props,this.context,'SearchBar',function(){return require('./locale/zh_CN');});var _this$state=this.state,value=_this$state.value,focus=_this$state.focus;var _showCancelButton=showCancelButton||focus;return _react["default"].createElement(_style.WithTheme,{styles:styles,themeStyles:_index["default"]},function(_styles){return _react["default"].createElement(_reactNative.View,{style:_styles.wrapper},_react["default"].createElement(_reactNative.View,{style:_styles.inputWrapper},_react["default"].createElement(_reactNative.TextInput,(0,_extends2["default"])({clearButtonMode:"always",underlineColorAndroid:"transparent",editable:!disabled},restProps,{style:[_styles.input,style],ref:function ref(el){return _this2.inputRef=el;},value:value,onChangeText:_this2.onChangeText,onSubmitEditing:_this2.onSubmit,onFocus:_this2.onFocus,onBlur:_this2.onBlur}))),_react["default"].createElement(_icon["default"],{name:"search",style:_styles.search}),_showCancelButton&&_react["default"].createElement(_reactNative.View,{style:_styles.cancelTextContainer},_react["default"].createElement(_reactNative.Text,{style:_styles.cancelText,onPress:_this2.onCancel},cancelText||_locale.cancelText)));});}}]);return SearchBar;}(_react["default"].Component);exports["default"]=SearchBar;SearchBar.defaultProps=(0,_extends2["default"])({},_PropsType.defaultProps);SearchBar.contextType=_localeProvider.LocaleContext;