我在项目中使用React Mentions(http://effektif.github.io/react-mentions/或https://github.com/effektif/react-mentions)。
我已从/src/MentionsInput.jsx
var _getTriggerRegex = function(trigger) {
if (trigger instanceof RegExp) {
return trigger;
} else {
var escapedTriggerChar = utils.escapeRegex(trigger);
// first capture group is the part to be replaced on completion
// second capture group is for extracting the search query
return new RegExp("(?:^|\\s)(([^\\s]*))$");
}
};
现在显示任何文本输入后的建议。
除非有完全匹配,否则我如何隐藏/不渲染建议渲染?例如,在the example中,只有字符串“John'进入了吗?当' Joh'时,它不应该显示出结果。进入了。
我是否正确地认为将值传递给/src/SuggestionsOverlay.jsx
?
render: function() {
// do not show suggestions until there is some data
if(this.countSuggestions() === 0) return null;
return (
<div className="suggestions" onMouseDown={this.props.onMouseDown}>
<ul>{ this.renderSuggestions() }</ul>
</div>
);
},
答案 0 :(得分:0)
对于data
道具,您应该提供过滤功能而不是数组。将使用查询作为第一个参数调用该函数。所以你要做的就是检查你的数据源是否完全匹配并返回。如果未返回任何内容,则不会显示建议叠加层。