问题描述
我正在使用古腾堡(Gutenberg)中的URLInputButton组件,但是即使我将软件包github上的文档放在T上,也无法使它接受任何文本(键入时什么也没有发生)。
出于记录目的,URLInput本身可以很好地工作,但是由按钮引入的URLInput出于任何原因都不会。
const { InnerBlocks,URLInputButton,URLInput } = wp.blockEditor;
const { Component,Fragment } = wp.element;
const { __ } = wp.i18n;
const TemplateImg = [
[ 'core/image' ],[ 'core/heading' ],[ 'core/paragraph' ],];
class EditLinkImage extends Component {
constructor() {
super(...arguments);
this.render = this.render.bind(this);
}
render() {
const {
className,attributes: { btnUrl,btnText },setAttributes
} = this.props;
const onSelectURL = ( url,post ) => {
setAttributes( {
btnUrl: url,btnText: (post && post.title) || 'Click here'
} );
};
return (
<Fragment>
<label>Choose a Link</label>
<URLInputButton
onChange={ onSelectURL }
value='asdfasd'
/>
<div className="feat-link">
<InnerBlocks
template={TemplateImg}
templateLock="all"
/>
</div>
</Fragment>
);
}
}
export default EditLinkImage;```
解决方法
找到了答案!与URLInput组件不同,URLInputButton应该具有'url'属性,而不是'value'。
,您必须将value
的{{1}}属性设置为URLInputButton
。如果您想了解更多信息,请阅读React Form Documentation。