quanyawei
2024-07-04 1e71dd86f6d0c4fc7e5143600d4bc4b50992a2a7
uni_modules/uview-ui/components/u--input/u--input.vue
New file
@@ -0,0 +1,73 @@
<template>
   <uvInput
      :value="value"
      :type="type"
      :fixed="fixed"
      :disabled="disabled"
      :disabledColor="disabledColor"
      :clearable="clearable"
      :password="password"
      :maxlength="maxlength"
      :placeholder="placeholder"
      :placeholderClass="placeholderClass"
      :placeholderStyle="placeholderStyle"
      :showWordLimit="showWordLimit"
      :confirmType="confirmType"
      :confirmHold="confirmHold"
      :holdKeyboard="holdKeyboard"
      :focus="focus"
      :autoBlur="autoBlur"
      :disableDefaultPadding="disableDefaultPadding"
      :cursor="cursor"
      :cursorSpacing="cursorSpacing"
      :selectionStart="selectionStart"
      :selectionEnd="selectionEnd"
      :adjustPosition="adjustPosition"
      :inputAlign="inputAlign"
      :fontSize="fontSize"
      :color="color"
      :prefixIcon="prefixIcon"
      :suffixIcon="suffixIcon"
      :suffixIconStyle="suffixIconStyle"
      :prefixIconStyle="prefixIconStyle"
      :border="border"
      :readonly="readonly"
      :shape="shape"
      :customStyle="customStyle"
      :formatter="formatter"
      :ignoreCompositionEvent="ignoreCompositionEvent"
      @focus="$emit('focus')"
      @blur="e => $emit('blur', e)"
      @keyboardheightchange="$emit('keyboardheightchange')"
      @change="e => $emit('change', e)"
      @input="e => $emit('input', e)"
      @confirm="e => $emit('confirm', e)"
      @clear="$emit('clear')"
      @click="$emit('click')"
   >
      <!-- #ifdef MP -->
      <slot name="prefix"></slot>
      <slot name="suffix"></slot>
      <!-- #endif -->
      <!-- #ifndef MP -->
      <slot name="prefix" slot="prefix"></slot>
      <slot name="suffix" slot="suffix"></slot>
      <!-- #endif -->
   </uvInput>
</template>
<script>
   /**
    * 此组件存在的理由是,在nvue下,u-input被uni-app官方占用了,u-input在nvue中相当于input组件
    * 所以在nvue下,取名为u--input,内部其实还是u-input.vue,只不过做一层中转
    */
   import uvInput from '../u-input/u-input.vue';
   import props from '../u-input/props.js'
   export default {
      name: 'u--input',
      mixins: [uni.$u.mpMixin, props, uni.$u.mixin],
      components: {
         uvInput
      },
   }
</script>