在react

时间:2018-11-04 17:28:59

标签: reactjs

我正在使用datalist标签在React应用程序的页面上显示按定义的值。

我正在尝试为此数据列表标签添加降价行为。这样我就可以在从下拉菜单中选择输入时向用户提供建议。

例如,我们有“阿拉巴马州,阿拉斯加亚利桑那州”国家/地区,如果用户在输入框中输入 A ,则必须先显示 A ,然后显示“ labama ”(以其他颜色/阴影表示,例如 A labama)。

为此,我指的是此链接http://afarkas.github.io/remote-list/demo/index.html

(请检查给定链接中的第一个示例。)

这是我的示例代码

<input type="text" placeholder="Find U.S. State" list="states-2" id="search-2" data-list='{"valueCompletion": true, "highlight": true}'> (long list example + mark-option behavior)
    <datalist id="states-2">
        <select>
            <option value="Alabama"></option>
            <option value="Alaska"></option>
            <option value="Arizona"></option>
            <option value="South Carolina"></option>
            <option value="Wisconsin"></option>
            <option value="Wyoming"></option>
        </select>
    </datalist>

我能够自动填充数据,但无法提供降价行为。

任何人都可以为我提供如何在React应用程序中实现给定方案的方法吗?或者是否有其他方法可以在不使用datalist标签的情况下实现此功能。

1 个答案:

答案 0 :(得分:0)

这不完全是降价行为:您想要获得突出显示效果。 借助React,您可以使用优质的react-highlight-words

概念验证示例:

<option value="Alabama">
  <Highlighter
    highlightClassName="YourHighlightClass"
    searchWords={["A"]}
    autoEscape={true}
    textToHighlight="Alabama"/>
</option>

然后,您需要使用CSS才能获得加粗/突出显示效果。