@artmate/chat
Version:
借鉴字节开源react库AntX,通过vue实现的版本
36 lines (35 loc) • 902 B
JavaScript
import { ref as s, watch as y } from "vue";
function f(u) {
const a = s(u.value.length), l = s(u.value.slice(0, a.value)), r = () => {
const e = l.value[l.value.length - 1];
return e ? e.key : null;
};
y(
() => u.value,
(e) => {
a.value = e.length, l.value = e.slice(0, a.value);
}
);
const n = () => {
var e, v;
if (!(l.value.length > 0 && l.value.every((t, i) => {
var o;
return t.key === ((o = u.value[i]) == null ? void 0 : o.key);
}))) {
if (l.value.length === 0)
a.value = 1;
else
for (let t = 0; t < l.value.length; t += 1)
if (((e = l.value[t]) == null ? void 0 : e.key) !== ((v = u.value[t]) == null ? void 0 : v.key)) {
a.value = t;
break;
}
}
};
return n(), [l, (e) => {
e === r() && (a.value = a.value + 1);
}, n];
}
export {
f as default
};