Фокус AngularJS после создания нового элемента

0

Я пытаюсь реализовать функциональность, в которой пользователь взаимодействует с элементом списка. После нажатия enter вызывается функция. Я хочу, чтобы функция создала новый элемент списка сразу после текущего элемента. Когда элемент создается, я хочу, чтобы dom сосредоточился на этом элементе. Вот код:

$scope.lines.splice(lineNum+1,0, {'data':""});
document.getElementById(lineNum+1).focus();

Где строки - это список данных, связанных с элементами списка. Однако текущий результат состоит в том, что выполняется первая строка, но элемент dom еще не создан. Таким образом, вторая строка запускается до обновления dom. Например, когда вы нажимаете кнопку ввода в строке 4, она фокусируется на строке 5. Затем, в конце концов, она создает другую строку, нажимая линию 5 на строку 6. Таким образом, чистый результат фокусируется на строке 6.

Я перепутал с завершением первой строки в $ scope. $ Apply function, но безрезультатно.

Теги:

1 ответ

0

Если ваши элементы находятся в ng-repeat, вы можете установить фокус на элемент, используя директиву ng-focus и параметр $ last.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню