UNPKG

mine-h5-ui

Version:

一款轻量级、模块化基于 Vue3.x 的 H5 前端 UI 组件库 👍

55 lines (54 loc) 1.62 kB
import { defineComponent as c, mergeModels as m, useModel as x, createElementBlock as i, openBlock as r, normalizeClass as g, createCommentVNode as l, createElementVNode as h, toDisplayString as u, nextTick as V } from "vue"; /*! * mine-h5-ui v2.15.0 * Copyright (c) 2025 biaov * @license MIT */ const k = { key: 0, class: "prefix-tag" }, y = ["value"], M = { key: 1, class: "suffix-tag" }, B = /* @__PURE__ */ c({ __name: "input", props: /* @__PURE__ */ m({ prefix: { default: "" }, suffix: { default: "" }, range: { default: () => [] } }, { modelValue: { default: "" }, modelModifiers: {} }), emits: ["update:modelValue"], setup(a) { const o = a, n = x(a, "modelValue"), f = (e) => { e = `${e}`, o.prefix === "#" && e.length > 6 && (e = e.slice(0, 6)); const [t, s] = o.range; return t && +e < t && (e = `${t}`), s && +e > s && (e = `${s}`), e && o.range.length && (e = Math.round(+e)), e; }, d = (e) => { let { value: t } = e.target; t && (n.value = t, V(() => { n.value = f(t); })); }, p = () => { n.value = f(n.value); }; return (e, t) => (r(), i("div", { class: g(["input-box", { prefix: e.prefix, suffix: e.suffix }]) }, [ e.prefix ? (r(), i("div", k, u(e.prefix), 1)) : l("", !0), h("input", { type: "text", value: n.value, class: "input", onInput: d, onBlur: p }, null, 40, y), e.suffix ? (r(), i("div", M, u(e.suffix), 1)) : l("", !0) ], 2)); } }); export { B as default };