¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view |
| | | class="uni-easyinput" |
| | | :class="{ 'uni-easyinput-error': msg }" |
| | | :style="boxStyle" |
| | | > |
| | | <view |
| | | class="uni-easyinput__content" |
| | | :class="inputContentClass" |
| | | :style="inputContentStyle" |
| | | > |
| | | <slot name="prefixIcon"> |
| | | <uni-icons |
| | | v-if="prefixIcon" |
| | | class="content-clear-icon" |
| | | :type="prefixIcon" |
| | | color="#c0c4cc" |
| | | @click="onClickIcon('prefix')" |
| | | size="22" |
| | | ></uni-icons> |
| | | </slot> |
| | | <textarea |
| | | v-if="type === 'textarea'" |
| | | class="uni-easyinput__content-textarea" |
| | | :class="{ 'input-padding': inputBorder }" |
| | | :name="name" |
| | | :value="val" |
| | | :placeholder="placeholder" |
| | | :placeholderStyle="placeholderStyle" |
| | | :disabled="disabled" |
| | | placeholder-class="uni-easyinput__placeholder-class" |
| | | :maxlength="inputMaxlength" |
| | | :focus="focused" |
| | | :autoHeight="autoHeight" |
| | | @input="onInput" |
| | | @blur="_Blur" |
| | | @focus="_Focus" |
| | | @confirm="onConfirm" |
| | | ></textarea> |
| | | <input |
| | | v-else |
| | | :type="type === 'password' ? 'text' : type" |
| | | class="uni-easyinput__content-input" |
| | | :style="inputStyle" |
| | | :name="name" |
| | | :value="val" |
| | | :password="!showPassword && type === 'password'" |
| | | :placeholder="placeholder" |
| | | :placeholderStyle="placeholderStyle" |
| | | placeholder-class="uni-easyinput__placeholder-class" |
| | | :disabled="disabled" |
| | | :maxlength="inputMaxlength" |
| | | :focus="focused" |
| | | :confirmType="confirmType" |
| | | @focus="_Focus" |
| | | @blur="_Blur" |
| | | @input="onInput" |
| | | @confirm="onConfirm" |
| | | /> |
| | | <template v-if="type === 'password' && passwordIcon"> |
| | | <!-- å¼å¯å¯ç æ¶æ¾ç¤ºå°ç¼ç --> |
| | | <uni-icons |
| | | v-if="isVal" |
| | | class="content-clear-icon" |
| | | :class="{ 'is-textarea-icon': type === 'textarea' }" |
| | | :type="showPassword ? 'eye-slash-filled' : 'eye-filled'" |
| | | :size="22" |
| | | :color="focusShow ? primaryColor : '#c0c4cc'" |
| | | @click="onEyes" |
| | | > |
| | | </uni-icons> |
| | | </template> |
| | | <template v-else-if="suffixIcon || $slots.suffixIcon"> |
| | | <slot name="suffixIcon"> |
| | | <uni-icons |
| | | v-if="suffixIcon" |
| | | class="content-clear-icon" |
| | | :type="suffixIcon" |
| | | color="#c0c4cc" |
| | | @click="onClickIcon('suffix')" |
| | | size="22" |
| | | ></uni-icons> |
| | | </slot> |
| | | </template> |
| | | <template v-else> |
| | | <uni-icons |
| | | v-if="clearable && isVal && !disabled && type !== 'textarea'" |
| | | class="content-clear-icon" |
| | | :class="{ 'is-textarea-icon': type === 'textarea' }" |
| | | type="clear" |
| | | :size="clearSize" |
| | | :color="msg ? '#dd524d' : focusShow ? primaryColor : '#c0c4cc'" |
| | | @click="onClear" |
| | | ></uni-icons> |
| | | </template> |
| | | <slot name="right"></slot> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | /** |
| | | * Easyinput è¾å
¥æ¡ |
| | | * @description æ¤ç»ä»¶å¯ä»¥å®ç°è¡¨åçè¾å
¥ä¸æ ¡éªï¼å
æ¬ "text" å "textarea" ç±»åã |
| | | * @tutorial https://ext.dcloud.net.cn/plugin?id=3455 |
| | | * @property {String} value è¾å
¥å
容 |
| | | * @property {String } type è¾å
¥æ¡çç±»åï¼é»è®¤textï¼ password/text/textarea/.. |
| | | * @value text ææ¬è¾å
¥é®ç |
| | | * @value textarea å¤è¡ææ¬è¾å
¥é®ç |
| | | * @value password å¯ç è¾å
¥é®ç |
| | | * @value number æ°åè¾å
¥é®çï¼æ³¨æiOSä¸app-vueå¼¹åºçæ°åé®çå¹¶é9å®«æ ¼æ¹å¼ |
| | | * @value idcard 身份è¯è¾å
¥é®çï¼ä¿¡ãæ¯ä»å®ãç¾åº¦ãQQå°ç¨åº |
| | | * @value digit 另尿°ç¹çæ°åé®ç ï¼Appçnvue页é¢ãå¾®ä¿¡ãæ¯ä»å®ãç¾åº¦ã头æ¡ãQQå°ç¨åºæ¯æ |
| | | * @property {Boolean} clearable æ¯å¦æ¾ç¤ºå³ä¾§æ¸
空å
容ç徿 æ§ä»¶ï¼ç¹å»å¯æ¸
空è¾å
¥æ¡å
容ï¼é»è®¤trueï¼ |
| | | * @property {Boolean} autoHeight æ¯å¦èªå¨å¢é«è¾å
¥åºåï¼type为textareaæ¶ææï¼é»è®¤trueï¼ |
| | | * @property {String } placeholder è¾å
¥æ¡çæç¤ºæå |
| | | * @property {String } placeholderStyle placeholderçæ ·å¼(å
èæ ·å¼ï¼å符串)ï¼å¦"color: #ddd" |
| | | * @property {Boolean} focus æ¯å¦èªå¨è·å¾ç¦ç¹ï¼é»è®¤falseï¼ |
| | | * @property {Boolean} disabled æ¯å¦ç¦ç¨ï¼é»è®¤falseï¼ |
| | | * @property {Number } maxlength æå¤§è¾å
¥é¿åº¦ï¼è®¾ç½®ä¸º -1 çæ¶åä¸é嶿大é¿åº¦ï¼é»è®¤140ï¼ |
| | | * @property {String } confirmType 设置é®çå³ä¸è§æé®çæåï¼ä»
å¨type="text"æ¶çæï¼é»è®¤doneï¼ |
| | | * @property {Number } clearSize æ¸
é¤å¾æ ç大å°ï¼åä½pxï¼é»è®¤15ï¼ |
| | | * @property {String} prefixIcon è¾å
¥æ¡å¤´é¨å¾æ |
| | | * @property {String} suffixIcon è¾å
¥æ¡å°¾é¨å¾æ |
| | | * @property {String} primaryColor 设置主é¢è²ï¼é»è®¤#2979ffï¼ |
| | | * @property {Boolean} trim æ¯å¦èªå¨å»é¤ä¸¤ç«¯çç©ºæ ¼ |
| | | * @value both å»é¤ä¸¤ç«¯ç©ºæ ¼ |
| | | * @value left å»é¤å·¦ä¾§ç©ºæ ¼ |
| | | * @value right å»é¤å³ä¾§ç©ºæ ¼ |
| | | * @value start å»é¤å·¦ä¾§ç©ºæ ¼ |
| | | * @value end å»é¤å³ä¾§ç©ºæ ¼ |
| | | * @value all å»é¤å
¨é¨ç©ºæ ¼ |
| | | * @value none ä¸å»é¤ç©ºæ ¼ |
| | | * @property {Boolean} inputBorder æ¯å¦æ¾ç¤ºinputè¾å
¥æ¡çè¾¹æ¡ï¼é»è®¤trueï¼ |
| | | * @property {Boolean} passwordIcon type=passwordæ¶æ¯å¦æ¾ç¤ºå°ç¼ç徿 |
| | | * @property {Object} styles èªå®ä¹é¢è² |
| | | * @event {Function} input è¾å
¥æ¡å
容åçååæ¶è§¦å |
| | | * @event {Function} focus è¾å
¥æ¡è·å¾ç¦ç¹æ¶è§¦å |
| | | * @event {Function} blur è¾å
¥æ¡å¤±å»ç¦ç¹æ¶è§¦å |
| | | * @event {Function} confirm ç¹å»å®ææé®æ¶è§¦å |
| | | * @event {Function} iconClick ç¹å»å¾æ æ¶è§¦å |
| | | * @slot prefixIcon è¾å
¥æ¡å¤´é¨ææ§½ |
| | | * @slot suffixIcon è¾å
¥æ¡å°¾é¨ææ§½ |
| | | * @example <uni-easyinput v-model="mobile"></uni-easyinput> |
| | | */ |
| | | function obj2strClass(obj) { |
| | | let classess = ""; |
| | | for (let key in obj) { |
| | | const val = obj[key]; |
| | | if (val) { |
| | | classess += `${key} `; |
| | | } |
| | | } |
| | | return classess; |
| | | } |
| | | |
| | | function obj2strStyle(obj) { |
| | | let style = ""; |
| | | for (let key in obj) { |
| | | const val = obj[key]; |
| | | style += `${key}:${val};`; |
| | | } |
| | | return style; |
| | | } |
| | | export default { |
| | | name: "uni-easyinput", |
| | | emits: [ |
| | | "click", |
| | | "iconClick", |
| | | "update:modelValue", |
| | | "input", |
| | | "focus", |
| | | "blur", |
| | | "confirm", |
| | | "clear", |
| | | "eyes", |
| | | "change", |
| | | ], |
| | | model: { |
| | | prop: "modelValue", |
| | | event: "update:modelValue", |
| | | }, |
| | | options: { |
| | | virtualHost: true, |
| | | }, |
| | | inject: { |
| | | form: { |
| | | from: "uniForm", |
| | | default: null, |
| | | }, |
| | | formItem: { |
| | | from: "uniFormItem", |
| | | default: null, |
| | | }, |
| | | }, |
| | | props: { |
| | | name: String, |
| | | value: [Number, String], |
| | | modelValue: [Number, String], |
| | | type: { |
| | | type: String, |
| | | default: "text", |
| | | }, |
| | | clearable: { |
| | | type: Boolean, |
| | | default: true, |
| | | }, |
| | | autoHeight: { |
| | | type: Boolean, |
| | | default: false, |
| | | }, |
| | | placeholder: { |
| | | type: String, |
| | | default: " ", |
| | | }, |
| | | placeholderStyle: String, |
| | | focus: { |
| | | type: Boolean, |
| | | default: false, |
| | | }, |
| | | disabled: { |
| | | type: Boolean, |
| | | default: false, |
| | | }, |
| | | maxlength: { |
| | | type: [Number, String], |
| | | default: 140, |
| | | }, |
| | | confirmType: { |
| | | type: String, |
| | | default: "done", |
| | | }, |
| | | clearSize: { |
| | | type: [Number, String], |
| | | default: 24, |
| | | }, |
| | | inputBorder: { |
| | | type: Boolean, |
| | | default: true, |
| | | }, |
| | | prefixIcon: { |
| | | type: String, |
| | | default: "", |
| | | }, |
| | | suffixIcon: { |
| | | type: String, |
| | | default: "", |
| | | }, |
| | | trim: { |
| | | type: [Boolean, String], |
| | | default: true, |
| | | }, |
| | | passwordIcon: { |
| | | type: Boolean, |
| | | default: true, |
| | | }, |
| | | primaryColor: { |
| | | type: String, |
| | | default: "#2979ff", |
| | | }, |
| | | styles: { |
| | | type: Object, |
| | | default() { |
| | | return { |
| | | color: "#333", |
| | | disableColor: "#F7F6F6", |
| | | borderColor: "#e5e5e5", |
| | | }; |
| | | }, |
| | | }, |
| | | errorMessage: { |
| | | type: [String, Boolean], |
| | | default: "", |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | | focused: false, |
| | | val: "", |
| | | showMsg: "", |
| | | border: false, |
| | | isFirstBorder: false, |
| | | showClearIcon: false, |
| | | showPassword: false, |
| | | focusShow: false, |
| | | localMsg: "", |
| | | }; |
| | | }, |
| | | computed: { |
| | | // è¾å
¥æ¡å
æ¯å¦æå¼ |
| | | isVal() { |
| | | const val = this.val; |
| | | // fixed by mehaotian å¤çå¼ä¸º0çæ
åµï¼å符串0ä¸å¨å¤çèå´ |
| | | if (val || val === 0) { |
| | | return true; |
| | | } |
| | | return false; |
| | | }, |
| | | |
| | | msg() { |
| | | // console.log('computed', this.form, this.formItem); |
| | | // if (this.form) { |
| | | // return this.errorMessage || this.formItem.errMsg; |
| | | // } |
| | | // TODO å¤çå¤´æ¡ formItem ä¸ errMsg 䏿´æ°çé®é¢ |
| | | return this.localMsg || this.errorMessage; |
| | | }, |
| | | // å 为uniappçinputç»ä»¶çmaxlengthç»ä»¶å¿
é¡»è¦æ°å¼ï¼è¿é转为æ°å¼ï¼ç¨æ·å¯ä»¥ä¼ å
¥å符串æ°å¼ |
| | | inputMaxlength() { |
| | | return Number(this.maxlength); |
| | | }, |
| | | |
| | | // å¤çå¤å±æ ·å¼çstyle |
| | | boxStyle() { |
| | | return `color:${ |
| | | this.inputBorder && this.msg ? "#e43d33" : this.styles.color |
| | | };`; |
| | | }, |
| | | // input å
容çç±»åæ ·å¼å¤ç |
| | | inputContentClass() { |
| | | return obj2strClass({ |
| | | "is-input-border": this.inputBorder, |
| | | "is-input-error-border": this.inputBorder && this.msg, |
| | | "is-textarea": this.type === "textarea", |
| | | "is-disabled": this.disabled, |
| | | }); |
| | | }, |
| | | inputContentStyle() { |
| | | const focusColor = this.focusShow |
| | | ? this.primaryColor |
| | | : this.styles.borderColor; |
| | | const borderColor = this.inputBorder && this.msg ? "#dd524d" : focusColor; |
| | | return obj2strStyle({ |
| | | "border-color": borderColor || "#e5e5e5", |
| | | "background-color": this.disabled |
| | | ? this.styles.disableColor |
| | | : this.styles.backgroundColor, |
| | | }); |
| | | }, |
| | | // inputå³ä¾§æ ·å¼ |
| | | inputStyle() { |
| | | const paddingRight = |
| | | this.type === "password" || this.clearable || this.prefixIcon |
| | | ? "" |
| | | : "10px"; |
| | | return obj2strStyle({ |
| | | "padding-right": paddingRight, |
| | | "padding-left": this.prefixIcon ? "" : "10px", |
| | | }); |
| | | }, |
| | | }, |
| | | watch: { |
| | | value(newVal) { |
| | | this.val = newVal; |
| | | }, |
| | | modelValue(newVal) { |
| | | this.val = newVal; |
| | | }, |
| | | focus(newVal) { |
| | | this.$nextTick(() => { |
| | | this.focused = this.focus; |
| | | this.focusShow = this.focus; |
| | | }); |
| | | }, |
| | | }, |
| | | created() { |
| | | this.init(); |
| | | // TODO å¤ç头æ¡vue3 computed ä¸çå¬ inject æ´æ¹çé®é¢ï¼formItem.errMsgï¼ |
| | | if (this.form && this.formItem) { |
| | | this.$watch("formItem.errMsg", (newVal) => { |
| | | this.localMsg = newVal; |
| | | }); |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.focused = this.focus; |
| | | this.focusShow = this.focus; |
| | | }); |
| | | }, |
| | | methods: { |
| | | /** |
| | | * åå§ååéå¼ |
| | | */ |
| | | init() { |
| | | if (this.value || this.value === 0) { |
| | | this.val = this.value; |
| | | } else if (this.modelValue || this.modelValue === 0) { |
| | | this.val = this.modelValue; |
| | | } else { |
| | | this.val = null; |
| | | } |
| | | }, |
| | | |
| | | /** |
| | | * ç¹å»å¾æ æ¶è§¦å |
| | | * @param {Object} type |
| | | */ |
| | | onClickIcon(type) { |
| | | this.$emit("iconClick", type); |
| | | }, |
| | | |
| | | /** |
| | | * æ¾ç¤ºéèå
容ï¼å¯ç æ¡æ¶çæ |
| | | */ |
| | | onEyes() { |
| | | this.showPassword = !this.showPassword; |
| | | this.$emit("eyes", this.showPassword); |
| | | }, |
| | | |
| | | /** |
| | | * è¾å
¥æ¶è§¦å |
| | | * @param {Object} event |
| | | */ |
| | | onInput(event) { |
| | | let value = event.detail.value; |
| | | // 夿æ¯å¦å»é¤ç©ºæ ¼ |
| | | if (this.trim) { |
| | | if (typeof this.trim === "boolean" && this.trim) { |
| | | value = this.trimStr(value); |
| | | } |
| | | if (typeof this.trim === "string") { |
| | | value = this.trimStr(value, this.trim); |
| | | } |
| | | } |
| | | if (this.errMsg) this.errMsg = ""; |
| | | this.val = value; |
| | | // TODO å
¼å®¹ vue2 |
| | | this.$emit("input", value); |
| | | // TODOãå
¼å®¹ãvue3 |
| | | this.$emit("update:modelValue", value); |
| | | }, |
| | | |
| | | /** |
| | | * å¤é¨è°ç¨æ¹æ³ |
| | | * è·åç¦ç¹æ¶è§¦å |
| | | * @param {Object} event |
| | | */ |
| | | onFocus() { |
| | | this.$nextTick(() => { |
| | | this.focused = true; |
| | | }); |
| | | this.$emit("focus", null); |
| | | }, |
| | | |
| | | _Focus(event) { |
| | | this.focusShow = true; |
| | | this.$emit("focus", event); |
| | | }, |
| | | |
| | | /** |
| | | * å¤é¨è°ç¨æ¹æ³ |
| | | * 失å»ç¦ç¹æ¶è§¦å |
| | | * @param {Object} event |
| | | */ |
| | | onBlur() { |
| | | this.focused = false; |
| | | this.$emit("focus", null); |
| | | }, |
| | | _Blur(event) { |
| | | let value = event.detail.value; |
| | | this.focusShow = false; |
| | | this.$emit("blur", event); |
| | | // æ ¹æ®ç±»åè¿åå¼ï¼å¨eventä¸è·åçå¼ç论ä¸è®²é½æ¯string |
| | | this.$emit("change", this.val); |
| | | // 失å»ç¦ç¹æ¶åä¸è¡¨åæ ¡éª |
| | | if (this.form && this.formItem) { |
| | | const { validateTrigger } = this.form; |
| | | if (validateTrigger === "blur") { |
| | | this.formItem.onFieldChange(); |
| | | } |
| | | } |
| | | }, |
| | | |
| | | /** |
| | | * æä¸é®ççåéé® |
| | | * @param {Object} e |
| | | */ |
| | | onConfirm(e) { |
| | | this.$emit("confirm", this.val); |
| | | this.$emit("change", this.val); |
| | | }, |
| | | |
| | | /** |
| | | * æ¸
çå
容 |
| | | * @param {Object} event |
| | | */ |
| | | onClear(event) { |
| | | this.val = ""; |
| | | // TODO å
¼å®¹ vue2 |
| | | this.$emit("input", ""); |
| | | // TODO å
¼å®¹ vue2 |
| | | // TODOãå
¼å®¹ãvue3 |
| | | this.$emit("update:modelValue", ""); |
| | | // ç¹å»åå·è§¦å |
| | | this.$emit("clear"); |
| | | }, |
| | | |
| | | /** |
| | | * å»é¤ç©ºæ ¼ |
| | | */ |
| | | trimStr(str, pos = "both") { |
| | | if (pos === "both") { |
| | | return str.trim(); |
| | | } else if (pos === "left") { |
| | | return str.trimLeft(); |
| | | } else if (pos === "right") { |
| | | return str.trimRight(); |
| | | } else if (pos === "start") { |
| | | return str.trimStart(); |
| | | } else if (pos === "end") { |
| | | return str.trimEnd(); |
| | | } else if (pos === "all") { |
| | | return str.replace(/\s+/g, ""); |
| | | } else if (pos === "none") { |
| | | return str; |
| | | } |
| | | return str; |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | $uni-error: #e43d33; |
| | | $uni-border-1: #dcdfe6 !default; |
| | | |
| | | .uni-easyinput { |
| | | /* #ifndef APP-NVUE */ |
| | | width: 100%; |
| | | /* #endif */ |
| | | flex: 1; |
| | | position: relative; |
| | | text-align: left; |
| | | color: #333; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .uni-easyinput__content { |
| | | flex: 1; |
| | | /* #ifndef APP-NVUE */ |
| | | width: 100%; |
| | | display: flex; |
| | | box-sizing: border-box; |
| | | // min-height: 36px; |
| | | /* #endif */ |
| | | flex-direction: row; |
| | | align-items: center; |
| | | // å¤çborderå¨ç»åå¼å§æ¾ç¤ºé»è²çé®é¢ |
| | | border-color: #fff; |
| | | transition-property: border-color; |
| | | transition-duration: 0.3s; |
| | | } |
| | | |
| | | .uni-easyinput__content-input { |
| | | /* #ifndef APP-NVUE */ |
| | | width: auto; |
| | | /* #endif */ |
| | | position: relative; |
| | | overflow: hidden; |
| | | flex: 1; |
| | | line-height: 1; |
| | | font-size: 14px; |
| | | height: 35px; |
| | | // min-height: 36px; |
| | | } |
| | | |
| | | .uni-easyinput__placeholder-class { |
| | | color: #999; |
| | | font-size: 12px; |
| | | // font-weight: 200; |
| | | } |
| | | |
| | | .is-textarea { |
| | | align-items: flex-start; |
| | | } |
| | | |
| | | .is-textarea-icon { |
| | | margin-top: 5px; |
| | | } |
| | | |
| | | .uni-easyinput__content-textarea { |
| | | position: relative; |
| | | overflow: hidden; |
| | | flex: 1; |
| | | line-height: 1.5; |
| | | font-size: 14px; |
| | | margin: 6px; |
| | | margin-left: 0; |
| | | height: 80px; |
| | | min-height: 80px; |
| | | /* #ifndef APP-NVUE */ |
| | | min-height: 80px; |
| | | width: auto; |
| | | /* #endif */ |
| | | } |
| | | |
| | | .input-padding { |
| | | padding-left: 10px; |
| | | } |
| | | |
| | | .content-clear-icon { |
| | | padding: 0 5px; |
| | | } |
| | | |
| | | .label-icon { |
| | | margin-right: 5px; |
| | | margin-top: -1px; |
| | | } |
| | | |
| | | // æ¾ç¤ºè¾¹æ¡ |
| | | .is-input-border { |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | box-sizing: border-box; |
| | | /* #endif */ |
| | | flex-direction: row; |
| | | align-items: center; |
| | | border: 1px solid $uni-border-1; |
| | | border-radius: 4px; |
| | | /* #ifdef MP-ALIPAY */ |
| | | overflow: hidden; |
| | | /* #endif */ |
| | | } |
| | | |
| | | .uni-error-message { |
| | | position: absolute; |
| | | bottom: -17px; |
| | | left: 0; |
| | | line-height: 12px; |
| | | color: $uni-error; |
| | | font-size: 12px; |
| | | text-align: left; |
| | | } |
| | | |
| | | .uni-error-msg--boeder { |
| | | position: relative; |
| | | bottom: 0; |
| | | line-height: 22px; |
| | | } |
| | | |
| | | .is-input-error-border { |
| | | border-color: $uni-error; |
| | | |
| | | .uni-easyinput__placeholder-class { |
| | | color: mix(#fff, $uni-error, 50%); |
| | | } |
| | | } |
| | | |
| | | .uni-easyinput--border { |
| | | margin-bottom: 0; |
| | | padding: 10px 15px; |
| | | // padding-bottom: 0; |
| | | border-top: 1px #eee solid; |
| | | } |
| | | |
| | | .uni-easyinput-error { |
| | | padding-bottom: 0; |
| | | } |
| | | |
| | | .is-first-border { |
| | | /* #ifndef APP-NVUE */ |
| | | border: none; |
| | | /* #endif */ |
| | | /* #ifdef APP-NVUE */ |
| | | border-width: 0; |
| | | /* #endif */ |
| | | } |
| | | |
| | | .is-disabled { |
| | | background-color: #f7f6f6; |
| | | color: #d5d5d5; |
| | | |
| | | .uni-easyinput__placeholder-class { |
| | | color: #d5d5d5; |
| | | font-size: 12px; |
| | | } |
| | | } |
| | | </style> |