UNPKG

mine-h5-ui

Version:

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

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