Gutenberg LinkControl建议查询不起作用

时间:2021-12-09 作者:Djave

我有这样一个链接控件:

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: ObjectRequired: 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

我的头绕不过去。这也可能不是我的代码不起作用的原因。有人能告诉我怎么做吗?

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

然而,在搜索输入中键入会显示所有帖子类型(我希望它只显示页面)。

这很可能是因为您的代码以及documentation, 使用了错误的属性名称-suggestionQuery — 实际上应该是suggestionsQuery (请注意复数“建议”)。

因此,请尝试使用suggestionsQuery?

<LinkControl
    suggestionsQuery={ {
        type: \'post\',
        subtype: \'page\',
    } }
/>

相关推荐