You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							137 lines
						
					
					
						
							5.1 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							137 lines
						
					
					
						
							5.1 KiB
						
					
					
				| "use strict"; | |
| var __assign = (this && this.__assign) || function () { | |
|     __assign = Object.assign || function(t) { | |
|         for (var s, i = 1, n = arguments.length; i < n; i++) { | |
|             s = arguments[i]; | |
|             for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) | |
|                 t[p] = s[p]; | |
|         } | |
|         return t; | |
|     }; | |
|     return __assign.apply(this, arguments); | |
| }; | |
| Object.defineProperty(exports, "__esModule", { value: true }); | |
| var utils_1 = require("../common/utils"); | |
| var component_1 = require("../common/component"); | |
| var props_1 = require("./props"); | |
| (0, component_1.VantComponent)({ | |
|     field: true, | |
|     classes: ['input-class', 'right-icon-class', 'label-class'], | |
|     props: __assign(__assign(__assign(__assign({}, props_1.commonProps), props_1.inputProps), props_1.textareaProps), { size: String, icon: String, label: String, error: Boolean, center: Boolean, isLink: Boolean, leftIcon: String, rightIcon: String, autosize: null, required: Boolean, iconClass: String, clickable: Boolean, inputAlign: String, customStyle: String, errorMessage: String, arrowDirection: String, showWordLimit: Boolean, errorMessageAlign: String, readonly: { | |
|             type: Boolean, | |
|             observer: 'setShowClear', | |
|         }, clearable: { | |
|             type: Boolean, | |
|             observer: 'setShowClear', | |
|         }, clearTrigger: { | |
|             type: String, | |
|             value: 'focus', | |
|         }, border: { | |
|             type: Boolean, | |
|             value: true, | |
|         }, titleWidth: { | |
|             type: String, | |
|             value: '6.2em', | |
|         }, clearIcon: { | |
|             type: String, | |
|             value: 'clear', | |
|         }, extraEventParams: { | |
|             type: Boolean, | |
|             value: false, | |
|         } }), | |
|     data: { | |
|         focused: false, | |
|         innerValue: '', | |
|         showClear: false, | |
|     }, | |
|     created: function () { | |
|         this.value = this.data.value; | |
|         this.setData({ innerValue: this.value }); | |
|     }, | |
|     methods: { | |
|         formatValue: function (value) { | |
|             var maxlength = this.data.maxlength; | |
|             if (maxlength !== -1 && value.length > maxlength) { | |
|                 return value.slice(0, maxlength); | |
|             } | |
|             return value; | |
|         }, | |
|         onInput: function (event) { | |
|             var _a = (event.detail || {}).value, value = _a === void 0 ? '' : _a; | |
|             var formatValue = this.formatValue(value); | |
|             this.value = formatValue; | |
|             this.setShowClear(); | |
|             return this.emitChange(__assign(__assign({}, event.detail), { value: formatValue })); | |
|         }, | |
|         onFocus: function (event) { | |
|             this.focused = true; | |
|             this.setShowClear(); | |
|             this.$emit('focus', event.detail); | |
|         }, | |
|         onBlur: function (event) { | |
|             this.focused = false; | |
|             this.setShowClear(); | |
|             this.$emit('blur', event.detail); | |
|         }, | |
|         onClickIcon: function () { | |
|             this.$emit('click-icon'); | |
|         }, | |
|         onClickInput: function (event) { | |
|             this.$emit('click-input', event.detail); | |
|         }, | |
|         onClear: function () { | |
|             var _this = this; | |
|             this.setData({ innerValue: '' }); | |
|             this.value = ''; | |
|             this.setShowClear(); | |
|             (0, utils_1.nextTick)(function () { | |
|                 _this.emitChange({ value: '' }); | |
|                 _this.$emit('clear', ''); | |
|             }); | |
|         }, | |
|         onConfirm: function (event) { | |
|             var _a = (event.detail || {}).value, value = _a === void 0 ? '' : _a; | |
|             this.value = value; | |
|             this.setShowClear(); | |
|             this.$emit('confirm', value); | |
|         }, | |
|         setValue: function (value) { | |
|             this.value = value; | |
|             this.setShowClear(); | |
|             if (value === '') { | |
|                 this.setData({ innerValue: '' }); | |
|             } | |
|             this.emitChange({ value: value }); | |
|         }, | |
|         onLineChange: function (event) { | |
|             this.$emit('linechange', event.detail); | |
|         }, | |
|         onKeyboardHeightChange: function (event) { | |
|             this.$emit('keyboardheightchange', event.detail); | |
|         }, | |
|         emitChange: function (detail) { | |
|             var extraEventParams = this.data.extraEventParams; | |
|             this.setData({ value: detail.value }); | |
|             var result; | |
|             var data = extraEventParams | |
|                 ? __assign(__assign({}, detail), { callback: function (data) { | |
|                         result = data; | |
|                     } }) : detail.value; | |
|             this.$emit('input', data); | |
|             this.$emit('change', data); | |
|             return result; | |
|         }, | |
|         setShowClear: function () { | |
|             var _a = this.data, clearable = _a.clearable, readonly = _a.readonly, clearTrigger = _a.clearTrigger; | |
|             var _b = this, focused = _b.focused, value = _b.value; | |
|             var showClear = false; | |
|             if (clearable && !readonly) { | |
|                 var hasValue = !!value; | |
|                 var trigger = clearTrigger === 'always' || (clearTrigger === 'focus' && focused); | |
|                 showClear = hasValue && trigger; | |
|             } | |
|             this.setData({ showClear: showClear }); | |
|         }, | |
|         noop: function () { }, | |
|     }, | |
| });
 | |
| 
 |