@artmate/chat
Version:
借鉴字节开源react库AntX,通过vue实现的版本
2 lines (1 loc) • 729 B
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("vue");function v(e){return typeof e=="string"}const c=(e,i,s,f)=>{const r=l.ref(""),u=l.ref(1),a=l.ref(i&&v(e.value));l.watch(()=>e.value,()=>{!a.value&&v(e.value)?u.value=e.value.length:v(e.value)&&v(r.value)&&e.value.indexOf(r.value)!==0&&(u.value=1),r.value=e.value}),l.watchEffect(()=>{if(u.value,e.value,a.value&&u.value<e.value.length){const t=setTimeout(()=>{const g=o=>o+s;u.value=g(u.value)},f);return()=>{clearTimeout(t)}}});const n=l.computed(()=>{const t=a.value?e.value.slice(0,u.value):e.value;return()=>t}),d=l.computed(()=>a.value&&u.value<e.value.length);return[n,d]};exports.default=c;