u-input.js 3.4 KB

1
  1. "use strict";const u=require("./props.js"),h=require("../../libs/mixin/mpMixin.js"),d=require("../../libs/mixin/mixin.js"),o=require("../../libs/function/index.js"),i=require("../../../../common/vendor.js"),c={name:"u-input",mixins:[h.mpMixin,d.mixin,u.props],data(){return{clearInput:!1,innerValue:"",focused:!1,firstChange:!0,changeFromInner:!1,innerFormatter:e=>e}},watch:{modelValue:{immediate:!0,handler(e,s){this.innerValue=e,this.firstChange=!1,this.changeFromInner=!1}}},computed:{isShowClear(){const{clearable:e,readonly:s,focused:a,innerValue:t}=this;return!!e&&!s&&!!a&&t!==""},inputClass(){let e=[],{border:s,disabled:a,shape:t}=this;return s==="surround"&&(e=e.concat(["u-border","u-input--radius"])),e.push(`u-input--${t}`),s==="bottom"&&(e=e.concat(["u-border-bottom","u-input--no-radius"])),e.join(" ")},wrapperStyle(){const e={};return this.disabled&&(e.backgroundColor=this.disabledColor),this.border==="none"?e.padding="0":(e.paddingTop="6px",e.paddingBottom="6px",e.paddingLeft="9px",e.paddingRight="9px"),o.deepMerge(e,o.addStyle(this.customStyle))},inputStyle(){return{color:this.color,fontSize:o.addUnit(this.fontSize),textAlign:this.inputAlign}}},emits:["update:modelValue","focus","blur","change","confirm","clear","keyboardheightchange"],methods:{setFormatter(e){this.innerFormatter=e},onInput(e){let{value:s=""}=e.detail||{};const t=(this.formatter||this.innerFormatter)(s);this.innerValue=s,this.$nextTick(()=>{this.innerValue=t,this.valueChange()})},onBlur(e){this.$emit("blur",e.detail.value),o.sleep(150).then(()=>{this.focused=!1}),o.formValidate(this,"blur")},onFocus(e){this.focused=!0,this.$emit("focus")},onConfirm(e){this.$emit("confirm",this.innerValue)},onkeyboardheightchange(e){this.$emit("keyboardheightchange",e)},valueChange(){this.clearInput&&(this.innerValue="",this.clearInput=!1);const e=this.innerValue;this.$nextTick(()=>{this.$emit("update:modelValue",e),this.changeFromInner=!0,this.$emit("change",e),o.formValidate(this,"change")})},onClear(){this.clearInput=!0,this.innerValue="",this.$nextTick(()=>{this.valueChange(),this.$emit("clear")})},clickHandler(){}}};Array||i.resolveComponent("u-icon")();const m=()=>"../u-icon/u-icon.js";Math||m();function f(e,s,a,t,l,n){return i.e({a:e.prefixIcon||e.$slots.prefix},e.prefixIcon||e.$slots.prefix?{b:i.p({name:e.prefixIcon,size:"18",customStyle:e.prefixIconStyle})}:{},{c:i.s(n.inputStyle),d:e.type,e:e.focus,f:e.cursor,g:l.innerValue,h:e.autoBlur,i:e.disabled||e.readonly,j:e.maxlength,k:e.placeholder,l:e.placeholderStyle,m:e.placeholderClass,n:e.confirmType,o:e.confirmHold,p:e.holdKeyboard,q:e.cursorSpacing,r:e.adjustPosition,s:e.selectionEnd,t:e.selectionStart,v:e.password||e.type==="password"||!1,w:e.ignoreCompositionEvent,x:i.o((...r)=>n.onInput&&n.onInput(...r)),y:i.o((...r)=>n.onBlur&&n.onBlur(...r)),z:i.o((...r)=>n.onFocus&&n.onFocus(...r)),A:i.o((...r)=>n.onConfirm&&n.onConfirm(...r)),B:i.o((...r)=>n.onkeyboardheightchange&&n.onkeyboardheightchange(...r)),C:i.o((...r)=>n.clickHandler&&n.clickHandler(...r)),D:n.isShowClear},n.isShowClear?{E:i.p({name:"close",size:"11",color:"#ffffff",customStyle:"line-height: 12px"}),F:i.o((...r)=>n.onClear&&n.onClear(...r))}:{},{G:e.suffixIcon||e.$slots.suffix},e.suffixIcon||e.$slots.suffix?{H:i.p({name:e.suffixIcon,size:"18",customStyle:e.suffixIconStyle})}:{},{I:i.n(n.inputClass),J:i.s(n.wrapperStyle)})}const p=i._export_sfc(c,[["render",f],["__scopeId","data-v-df79975b"]]);wx.createComponent(p);