tav-ui
Version:
30 lines (27 loc) • 751 B
JavaScript
import { watchEffect, unref, nextTick } from 'vue';
async function useAutoFocus({
getSchema,
getProps,
formElRef,
isInitedDefault
}) {
watchEffect(async () => {
if (unref(isInitedDefault) || !unref(getProps).autoFocusFirstItem)
return;
await nextTick();
const schemas = unref(getSchema);
const formEl = unref(formElRef);
const el = formEl?.$el;
if (!formEl || !el || !schemas || schemas.length === 0)
return;
const firstItem = schemas[0];
if (!firstItem.component.includes("Input"))
return;
const inputEl = el.querySelector(".ant-row:first-child input");
if (!inputEl)
return;
inputEl?.focus();
});
}
export { useAutoFocus };
//# sourceMappingURL=useAutoFocus2.mjs.map