我有这样一个链接控件:
import { __ } from "@wordpress/i18n";
import {
__experimentalLinkControl as LinkControl,
} from "@wordpress/block-editor";
import "./editor.scss";
export default function ({ attributes, setAttributes }) {
return (
<LinkControl
suggestionQuery={{
type: "post",
subtype: "page",
}}
/>
);
}
但是,在搜索输入中键入会显示所有帖子类型(我希望它只显示页面)。
The documentation says 这样使用它:
建议查询
Type: Object
Required: No
控制用于搜索建议的查询参数。例如,要将aquery限制为仅使用页面类型,请使用:
<LinkControl
suggestionQuery={ {
type: \'post\',
subtype: \'page\',
} }
/>
我想我已经很好地遵循了这一点。
我脑子里唯一的问题是,这些文件还指出:
默认情况下,LinkControl使用__experimentalFetchLinkSuggestions
API来自core/block-editor
以检索匹配帖子类型实体的搜索建议。
默认情况下provides no functionality 因此,您必须在自己的编辑器实例中实现并提供此功能(example).
示例:https://github.com/WordPress/gutenberg/blob/65c752816f46a9334b84f4801d80dea00ed76fba/packages/editor/src/components/provider/use-block-editor-settings.js#L114-L115
我的头绕不过去。这也可能不是我的代码不起作用的原因。有人能告诉我怎么做吗?
最合适的回答,由SO网友:Sally CJ 整理而成
然而,在搜索输入中键入会显示所有帖子类型(我希望它只显示页面)。
这很可能是因为您的代码以及documentation, 使用了错误的属性名称-suggestionQuery
— 实际上应该是suggestionsQuery
(请注意复数“建议”)。
因此,请尝试使用suggestionsQuery
?
<LinkControl
suggestionsQuery={ {
type: \'post\',
subtype: \'page\',
} }
/>