show-suggest
描述
当为已配置的触发器打开建议下拉列表时触发
show-suggest 事件在 RichText 为当前触发器解析出非空列表后、下拉列表打开之前触发。可拦截该事件以调整列表项、移动下拉位置或取消显示。
用法
"show-suggest": ({
trigger: string,
query: string,
items: Array<{
id?: string | number,
label?: string,
url?: string,
// ...任何来自触发器数据源的自定义字段
}>,
pos: DOMRect
}) => boolean | void;
参数
show-suggest 事件的回调接收一个包含以下字段的对象:
trigger- 触发下拉列表的触发字符query- 在触发字符之后输入的文本(用于过滤items)items- 已解析(且已过滤)的建议项列表。每个条目遵循建议项结构:可选的id、label和url,以及triggerTemplate所使用的任意自定义字段(如image或name)pos- 描述光标位置的DOMRect,用于在屏幕上定位下拉列表
信息
要处理内部事件,请使用 Event Bus 方法。
示例
// 初始化 RichText
const editor = new richtext.Richtext("#root", {
triggers: [{ trigger: "@", data: people }]
// 其他配置属性
});
// 在下拉列表打开之前覆盖建议列表
editor.api.intercept("show-suggest", (state) => {
if (state.trigger === "@" && state.query === "") {
return { ...state, items: state.items.slice(0, 5) };
}
});
变更日志: 该事件在 v2.1 中新增
相关示例: RichText. 提及、标签与异步查询
相关文章: 提及与标签