我试图在我的WordPress插件中创建一个基本的链接控件,但我无法让它正常工作。我已经在这里阅读了之前的答案,但仍然有一些问题。我还查看了Github上的块编辑器组件文档,但该示例还不足以解决我的问题。以下是我的属性代码:
const attributes = {
linkText: {
type: \'string\',
\'selector\': \'.hero-image__button\',
default: \'\'
},
linkURL: {
type: \'string\',
selector: \'.hero-image__button\',
default: \'\'
}
};
export default attributes;
以下是我的编辑功能的代码:
import { TextControl } from \'@wordpress/components\';
import { __experimentalLinkControl as LinkControl } from \'@wordpress/block-editor\';
export default function Edit ( { attributes: { linkURL, LinkText }, setAttributes } ) {
const handleLinkChange = ( value ) => {
setAttributes( {
linkURL: value.url
} );
};
return (
<>
<TextControl
value={ linkText }
onChange={ ( linkText ) => setAttributes( { linkText } ) }
/>
<LinkControl
onChange={ handleLinkChange }
value={ linkURL }
/>
</>
);
}
以下是我的保存功能的代码:
export default function Save ( { attributes: { linkURL, linkText } } ) {
return (
<a className=\'hero-image__button\' href={ linkURL }>{ linkText }</a>
);
}
一切都保存得很好,前端看起来与预期一样。问题发生在管理中。输入URL后,该字段的值始终出现;未定义;。以下是我得到的截图:
重新加载管理页面时,链接控制字段将完全重置,即使linkURL值持续存在:
任何帮助都将不胜感激!