Не могу установить фокус на строке таблицы - PullRequest
1 голос
/ 06 марта 2019

Я пытаюсь установить фокус на строке таблицы при инициализации компонента, и я получаю нулевое значение при использовании interop

<table  class='table'>
     <thead>
         <tr>value</tr>
    </thead>
     <tbody>          
        @foreach (var elem in this.data) {
           <tr id="@elem.toString()"><td>@elem</td></tr>
     </tbody>
 </table>


@functions()
{
     protected int []data=new int[]{1,2,3,34};
     protected override async Task OnInitAsync() {
                if (data.Length > 0) {
                    var elementName= data.First().ToString();
                    await JSRuntime.Current.InvokeAsync<string>("methods.focus", elementName);;
                }
            }

}

Interop

window.methods={
    focus: function (elementName) { //i get the right id 
            var element = document.getElementById(elementName);//returns null
            element.focus();
        }
}

PS Я получаю права elementName в методе focus при отладке в браузере, но document.getElementById возвращает нулевой элемент. Мне нужно сначала получить элемент таблицы, а затем выполнить поиск грести в нем?

1 Ответ

1 голос
/ 06 марта 2019

Вы не можете установить фокус на элементах td или tr.Тем не менее, вы можете поместить элемент input в элемент td и затем установить фокус.

Надеюсь, это поможет ...

...