UNPKG

vuux

Version:

Vue3 Nuxt3 Nuxt4 组件库

2 lines (1 loc) 1.18 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("vue"),m=require("@vuux/utils"),b=require("../../../Message/index.cjs"),V=(l,g,s)=>{const c=u.ref(!1),a=u.ref(""),o=u.ref(!0),r=u.computed(()=>l.max),i=e=>e.slice(),h=u.computed(()=>({"is-readonly":l.readonly,"is-disabled":l.disabled})),n=u.computed(()=>Array.isArray(l.modelValue)?l.modelValue||[]:m.Utils.isNull(l.modelValue)?[]:l.modelValue),v=e=>{s("update:modelValue",e);const t=new CustomEvent("setvalue",{bubbles:!0,cancelable:!0,detail:e});g.value?.dispatchEvent(t),a.value=""},d=e=>{if(l.readonly)return;const t=i(n.value);t.splice(e,1),v(t),s("delete",t),r.value>0&&(o.value=!(t.length>=r.value))},y=e=>{e.target.value===""&&n.value.length&&d(n.value.length-1)},f=()=>{if(l.readonly||m.Utils.isNull(a.value))return!1;const e=i(n.value);return e.push(a.value),l.max>0&&e?.length>l.max?!1:a.value.length>l.limit?(b.Message.error("字符长度不能超过"+l.limit),!1):(v(e),s("save",e),r.value>0&&(o.value=!(e.length>=r.value)),!0)};return{onFocus:c,tagValue:a,show:o,classNames:h,values:n,handleRemove:d,onDelete:y,onEnter:f,onBlur:()=>{f(),c.value=!1}}};exports.useInputTag=V;