Element Plus 自动聚焦到第一个下拉框并展开

前端   2025-02-26 15:45   26   0  
const addRowDefaultData = async () => {
    tableData.value.push(medicinePushObj)
    const newIndex = tableData.value.length - 1
    // 新增的第几行
    clickIndex.value = newIndex
    await nextTick()
    // 等待下拉框渲染完成 Element Plus 2.8.5 需要额外延迟 100ms
    setTimeout(() => {
        // 精准定位到新增行的 el-select 输入框
        const newRow = document.querySelectorAll('.el-table__row')[newIndex]
        const input = newRow?.querySelector('.el-select .el-select__input')
        if (input) {
            input.focus()
            input.click()
        }
    }, 100)
}