shineout
Version:
Shein 前端组件库
88 lines (67 loc) • 2.96 kB
JavaScript
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireWildcard(require("react"));
var _Input = _interopRequireDefault(require("./Input"));
var DefaultValue = {
value: '',
point: '•'
};
var Password =
/*#__PURE__*/
function (_PureComponent) {
(0, _inheritsLoose2.default)(Password, _PureComponent);
function Password(props) {
var _this;
_this = _PureComponent.call(this, props) || this;
_this.handleChange = _this.handleChange.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
return _this;
}
var _proto = Password.prototype;
_proto.handleChange = function handleChange(val) {
var _this$props = this.props,
_this$props$value = _this$props.value,
value = _this$props$value === void 0 ? DefaultValue.value : _this$props$value,
_this$props$point = _this$props.point,
point = _this$props$point === void 0 ? DefaultValue.point : _this$props$point,
clearToUndefined = _this$props.clearToUndefined;
if (val === undefined && clearToUndefined) {
this.props.onChange(undefined);
return;
}
var newValue = [];
val.split('').forEach(function (v, i) {
newValue.push(v === point ? value[i] : v);
});
this.props.onChange(newValue.join(''));
};
_proto.render = function render() {
var _this$props2 = this.props,
_this$props2$point = _this$props2.point,
point = _this$props2$point === void 0 ? DefaultValue.point : _this$props2$point,
_this$props2$value = _this$props2.value,
value = _this$props2$value === void 0 ? DefaultValue.value : _this$props2$value,
others = (0, _objectWithoutPropertiesLoose2.default)(_this$props2, ["point", "value"]);
var transValue = Array.from({
length: (value || '').length
}, function () {
return point;
}).join('');
return _react.default.createElement(_Input.default, (0, _extends2.default)({}, others, {
type: "text",
value: transValue,
onChange: this.handleChange
}));
};
return Password;
}(_react.PureComponent);
(0, _defineProperty2.default)(Password, "defaultProps", DefaultValue);
var _default = Password;
exports.default = _default;