当用户在输入文本区域中输入特定字符(如"@"或"{{}}"(时,我需要显示一个列表或下拉列表,从中可以选择一个选项,然后在文本区域中使用。React.js中有专门的库吗?或者React中对此有什么简短的解决方案?
您可以监控文本区域的输入,并使用正则表达式检查特定字符。当为true时,请使用装载带有建议的组件的状态。选择一个选项会将其插入文本中,并将装载状态设置为false。点击离开也应该做同样的事情(并且MUI包括一个点击离开监听器帮助器组件(。
以下是一个小演示作为概念验证:https://codesandbox.io/s/magical-browser-dk981?file=/src/App.tsx
注意:我使用了Recoil来管理共享状态,因为我真的很喜欢它。如果你不想使用Recoil,你必须在父组件中声明所有状态,并将其作为道具传递给子组件。
这个演示显然没有经过完善,在您键入时没有明智的建议,您必须自己实现。祝你好运。:(