u-input.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  1. "use strict";
  2. var uni_modules_uviewPlus_components_uInput_props = require("./props.js");
  3. var uni_modules_uviewPlus_libs_mixin_mpMixin = require("../../libs/mixin/mpMixin.js");
  4. var uni_modules_uviewPlus_libs_mixin_mixin = require("../../libs/mixin/mixin.js");
  5. var uni_modules_uviewPlus_libs_function_index = require("../../libs/function/index.js");
  6. var common_vendor = require("../../../../common/vendor.js");
  7. require("../../libs/config/props.js");
  8. require("../../libs/config/config.js");
  9. require("../../libs/config/props/actionSheet.js");
  10. require("../../libs/config/props/album.js");
  11. require("../../libs/config/props/alert.js");
  12. require("../../libs/config/props/avatar.js");
  13. require("../../libs/config/props/avatarGroup.js");
  14. require("../../libs/config/props/backtop.js");
  15. require("../../libs/config/props/badge.js");
  16. require("../../libs/config/props/button.js");
  17. require("../../libs/config/props/calendar.js");
  18. require("../../libs/config/props/carKeyboard.js");
  19. require("../../libs/config/props/cell.js");
  20. require("../../libs/config/props/cellGroup.js");
  21. require("../../libs/config/props/checkbox.js");
  22. require("../../libs/config/props/checkboxGroup.js");
  23. require("../../libs/config/props/circleProgress.js");
  24. require("../../libs/config/props/code.js");
  25. require("../../libs/config/props/codeInput.js");
  26. require("../../libs/config/props/col.js");
  27. require("../../libs/config/props/collapse.js");
  28. require("../../libs/config/props/collapseItem.js");
  29. require("../../libs/config/props/columnNotice.js");
  30. require("../../libs/config/props/countDown.js");
  31. require("../../libs/config/props/countTo.js");
  32. require("../../libs/config/props/datetimePicker.js");
  33. require("../../libs/config/props/divider.js");
  34. require("../../libs/config/props/empty.js");
  35. require("../../libs/config/props/form.js");
  36. require("../../libs/config/props/formItem.js");
  37. require("../../libs/config/props/gap.js");
  38. require("../../libs/config/props/grid.js");
  39. require("../../libs/config/props/gridItem.js");
  40. require("../../libs/config/props/icon.js");
  41. require("../../libs/config/props/image.js");
  42. require("../../libs/config/props/indexAnchor.js");
  43. require("../../libs/config/props/indexList.js");
  44. require("../../libs/config/props/input.js");
  45. require("../../libs/config/props/keyboard.js");
  46. require("../../libs/config/props/line.js");
  47. require("../../libs/config/props/lineProgress.js");
  48. require("../../libs/config/props/link.js");
  49. require("../../libs/config/props/list.js");
  50. require("../../libs/config/props/listItem.js");
  51. require("../../libs/config/props/loadingIcon.js");
  52. require("../../libs/config/props/loadingPage.js");
  53. require("../../libs/config/props/loadmore.js");
  54. require("../../libs/config/props/modal.js");
  55. require("../../libs/config/props/navbar.js");
  56. require("../../libs/config/color.js");
  57. require("../../libs/config/props/noNetwork.js");
  58. require("../../libs/config/props/noticeBar.js");
  59. require("../../libs/config/props/notify.js");
  60. require("../../libs/config/props/numberBox.js");
  61. require("../../libs/config/props/numberKeyboard.js");
  62. require("../../libs/config/props/overlay.js");
  63. require("../../libs/config/props/parse.js");
  64. require("../../libs/config/props/picker.js");
  65. require("../../libs/config/props/popup.js");
  66. require("../../libs/config/props/radio.js");
  67. require("../../libs/config/props/radioGroup.js");
  68. require("../../libs/config/props/rate.js");
  69. require("../../libs/config/props/readMore.js");
  70. require("../../libs/config/props/row.js");
  71. require("../../libs/config/props/rowNotice.js");
  72. require("../../libs/config/props/scrollList.js");
  73. require("../../libs/config/props/search.js");
  74. require("../../libs/config/props/section.js");
  75. require("../../libs/config/props/skeleton.js");
  76. require("../../libs/config/props/slider.js");
  77. require("../../libs/config/props/statusBar.js");
  78. require("../../libs/config/props/steps.js");
  79. require("../../libs/config/props/stepsItem.js");
  80. require("../../libs/config/props/sticky.js");
  81. require("../../libs/config/props/subsection.js");
  82. require("../../libs/config/props/swipeAction.js");
  83. require("../../libs/config/props/swipeActionItem.js");
  84. require("../../libs/config/props/swiper.js");
  85. require("../../libs/config/props/swipterIndicator.js");
  86. require("../../libs/config/props/switch.js");
  87. require("../../libs/config/props/tabbar.js");
  88. require("../../libs/config/props/tabbarItem.js");
  89. require("../../libs/config/props/tabs.js");
  90. require("../../libs/config/props/tag.js");
  91. require("../../libs/config/props/text.js");
  92. require("../../libs/config/props/textarea.js");
  93. require("../../libs/config/props/toast.js");
  94. require("../../libs/config/props/toolbar.js");
  95. require("../../libs/config/props/tooltip.js");
  96. require("../../libs/config/props/transition.js");
  97. require("../../libs/config/props/upload.js");
  98. require("../../libs/function/test.js");
  99. require("../../libs/util/route.js");
  100. require("../../libs/function/digit.js");
  101. const _sfc_main = {
  102. name: "u-input",
  103. mixins: [uni_modules_uviewPlus_libs_mixin_mpMixin.mpMixin, uni_modules_uviewPlus_libs_mixin_mixin.mixin, uni_modules_uviewPlus_components_uInput_props.props],
  104. data() {
  105. return {
  106. clearInput: false,
  107. innerValue: "",
  108. focused: false,
  109. firstChange: true,
  110. changeFromInner: false,
  111. innerFormatter: (value) => value
  112. };
  113. },
  114. watch: {
  115. modelValue: {
  116. immediate: true,
  117. handler(newVal, oldVal) {
  118. this.innerValue = newVal;
  119. this.firstChange = false;
  120. this.changeFromInner = false;
  121. }
  122. }
  123. },
  124. computed: {
  125. isShowClear() {
  126. const { clearable, readonly, focused, innerValue } = this;
  127. return !!clearable && !readonly && !!focused && innerValue !== "";
  128. },
  129. inputClass() {
  130. let classes = [], { border, disabled, shape } = this;
  131. border === "surround" && (classes = classes.concat(["u-border", "u-input--radius"]));
  132. classes.push(`u-input--${shape}`);
  133. border === "bottom" && (classes = classes.concat([
  134. "u-border-bottom",
  135. "u-input--no-radius"
  136. ]));
  137. return classes.join(" ");
  138. },
  139. wrapperStyle() {
  140. const style = {};
  141. if (this.disabled) {
  142. style.backgroundColor = this.disabledColor;
  143. }
  144. if (this.border === "none") {
  145. style.padding = "0";
  146. } else {
  147. style.paddingTop = "6px";
  148. style.paddingBottom = "6px";
  149. style.paddingLeft = "9px";
  150. style.paddingRight = "9px";
  151. }
  152. return uni_modules_uviewPlus_libs_function_index.deepMerge(style, uni_modules_uviewPlus_libs_function_index.addStyle(this.customStyle));
  153. },
  154. inputStyle() {
  155. const style = {
  156. color: this.color,
  157. fontSize: uni_modules_uviewPlus_libs_function_index.addUnit(this.fontSize),
  158. textAlign: this.inputAlign
  159. };
  160. return style;
  161. }
  162. },
  163. emits: ["update:modelValue", "focus", "blur", "change", "confirm", "clear", "keyboardheightchange"],
  164. methods: {
  165. setFormatter(e) {
  166. this.innerFormatter = e;
  167. },
  168. onInput(e) {
  169. let { value = "" } = e.detail || {};
  170. const formatter = this.formatter || this.innerFormatter;
  171. const formatValue = formatter(value);
  172. this.innerValue = value;
  173. this.$nextTick(() => {
  174. this.innerValue = formatValue;
  175. this.valueChange();
  176. });
  177. },
  178. onBlur(event) {
  179. this.$emit("blur", event.detail.value);
  180. uni_modules_uviewPlus_libs_function_index.sleep(150).then(() => {
  181. this.focused = false;
  182. });
  183. uni_modules_uviewPlus_libs_function_index.formValidate(this, "blur");
  184. },
  185. onFocus(event) {
  186. this.focused = true;
  187. this.$emit("focus");
  188. },
  189. onConfirm(event) {
  190. this.$emit("confirm", this.innerValue);
  191. },
  192. onkeyboardheightchange(event) {
  193. this.$emit("keyboardheightchange", event);
  194. },
  195. valueChange() {
  196. if (this.clearInput) {
  197. this.innerValue = "";
  198. this.clearInput = false;
  199. }
  200. const value = this.innerValue;
  201. this.$nextTick(() => {
  202. this.$emit("update:modelValue", value);
  203. this.changeFromInner = true;
  204. this.$emit("change", value);
  205. uni_modules_uviewPlus_libs_function_index.formValidate(this, "change");
  206. });
  207. },
  208. onClear() {
  209. this.clearInput = true;
  210. this.innerValue = "";
  211. this.$nextTick(() => {
  212. this.valueChange();
  213. this.$emit("clear");
  214. });
  215. },
  216. clickHandler() {
  217. }
  218. }
  219. };
  220. if (!Array) {
  221. const _easycom_u_icon2 = common_vendor.resolveComponent("u-icon");
  222. _easycom_u_icon2();
  223. }
  224. const _easycom_u_icon = () => "../u-icon/u-icon.js";
  225. if (!Math) {
  226. _easycom_u_icon();
  227. }
  228. function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
  229. return common_vendor.e({
  230. a: _ctx.prefixIcon || _ctx.$slots.prefix
  231. }, _ctx.prefixIcon || _ctx.$slots.prefix ? {
  232. b: common_vendor.p({
  233. name: _ctx.prefixIcon,
  234. size: "18",
  235. customStyle: _ctx.prefixIconStyle
  236. })
  237. } : {}, {
  238. c: common_vendor.s($options.inputStyle),
  239. d: _ctx.type,
  240. e: _ctx.focus,
  241. f: _ctx.cursor,
  242. g: $data.innerValue,
  243. h: _ctx.autoBlur,
  244. i: _ctx.disabled || _ctx.readonly,
  245. j: _ctx.maxlength,
  246. k: _ctx.placeholder,
  247. l: _ctx.placeholderStyle,
  248. m: _ctx.placeholderClass,
  249. n: _ctx.confirmType,
  250. o: _ctx.confirmHold,
  251. p: _ctx.holdKeyboard,
  252. q: _ctx.cursorSpacing,
  253. r: _ctx.adjustPosition,
  254. s: _ctx.selectionEnd,
  255. t: _ctx.selectionStart,
  256. v: _ctx.password || _ctx.type === "password" || false,
  257. w: _ctx.ignoreCompositionEvent,
  258. x: common_vendor.o((...args) => $options.onInput && $options.onInput(...args)),
  259. y: common_vendor.o((...args) => $options.onBlur && $options.onBlur(...args)),
  260. z: common_vendor.o((...args) => $options.onFocus && $options.onFocus(...args)),
  261. A: common_vendor.o((...args) => $options.onConfirm && $options.onConfirm(...args)),
  262. B: common_vendor.o((...args) => $options.onkeyboardheightchange && $options.onkeyboardheightchange(...args)),
  263. C: common_vendor.o((...args) => $options.clickHandler && $options.clickHandler(...args)),
  264. D: $options.isShowClear
  265. }, $options.isShowClear ? {
  266. E: common_vendor.p({
  267. name: "close",
  268. size: "11",
  269. color: "#ffffff",
  270. customStyle: "line-height: 12px"
  271. }),
  272. F: common_vendor.o((...args) => $options.onClear && $options.onClear(...args))
  273. } : {}, {
  274. G: _ctx.suffixIcon || _ctx.$slots.suffix
  275. }, _ctx.suffixIcon || _ctx.$slots.suffix ? {
  276. H: common_vendor.p({
  277. name: _ctx.suffixIcon,
  278. size: "18",
  279. customStyle: _ctx.suffixIconStyle
  280. })
  281. } : {}, {
  282. I: common_vendor.n($options.inputClass),
  283. J: common_vendor.s($options.wrapperStyle)
  284. });
  285. }
  286. var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-4eec3aee"], ["__file", "C:/Users/Administrator/Desktop/\u9879\u76EE/\u76F4\u64AD/liveH5-v3/uni_modules/uview-plus/components/u-input/u-input.vue"]]);
  287. wx.createComponent(Component);