在blazor组件中,焦点在输入文本中,如何使tab键将焦点移动到选项下拉列表?

在blazor组件中,焦点在输入文本中,如何使tab键将焦点移动到选项下拉列表?,blazor,Blazor,我在输入框里输入了一些东西,选项范围缩小了。然后,按tab键,焦点跳过选项下拉列表。我想让它跳转到选项列表。我下面有一个样品。只能通过html属性完成吗?如果没有,我如何在blazor中完成 我知道上下键可以做到这一点。但我觉得tab键更快更直观 <input type="text" @bind="@newStudyCode" list="studies" autocomplete="on" placeholder="Search ..." /> <datalist id="s

我在输入框里输入了一些东西,选项范围缩小了。然后,按tab键,焦点跳过选项下拉列表。我想让它跳转到选项列表。我下面有一个样品。只能通过html属性完成吗?如果没有,我如何在blazor中完成

我知道上下键可以做到这一点。但我觉得tab键更快更直观

<input type="text" @bind="@newStudyCode" list="studies" autocomplete="on" placeholder="Search ..." />
<datalist id="studies">
        @if (Studies != null)
        {
            @foreach (var study in Studies)
            {
                <option value="@study.Code">@study.Code - @study.Title</option>
            }
        }
    </datalist>

@如果(研究!=null)
{
@foreach(研究中的var研究)
{
@study.Code-@study.Title
}
}
编译后的html如下所示


火狐
互联网
铬
游猎
推我

只需使用常规html
tabindex
属性即可完成此操作。布拉佐不需要什么特别的东西

例如:

<a href="https://www.w3schools.com/" tabindex="2">W3Schools</a>
<a href="http://www.google.com/" tabindex="1">Google</a>
<a href="http://www.microsoft.com/" tabindex="3">Microsoft</a>

请看这里:

正如凯尔刚才所说,您只需要tabindex

 <input type="text" @bind="@newStudyCode" list="studies" autocomplete="on" placeholder="Search ..." /> 
    <datalist id="studies"> 
       @if (Studies != null) 
          { 
            var i =1;
            @foreach (var study in Studies) 
               { 
                  <option value="@study.Code" tabindex="@i">
                    @study.Code - @study.Title
                  </option
                  i++;
               }
            } 
      </datalist>

@如果(研究!=null)
{ 
var i=1;
@foreach(研究中的var研究)
{ 
@study.Code-@study.Title

这不起作用,请看这里。哦,对不起。我误解了你的问题。你想通过选项列表进行制表吗?对我来说,这不是直观的,但我认为这应该是可能的。我认为你唯一的选择是将javascript与JsInterop一起使用,并捕获制表键和按on键检查当前打开的输入,然后转到下一个o我希望焦点像输入文本一样移动--(制表符)-->选项下拉菜单--(制表符)-->按钮。但我想你是对的,我必须求助于JS。这不起作用,请看这里