下面是我使用renderAppender 道具,灵感来自韦尔彻的上述评论this post over on Stack.
<InnerBlocks
renderAppender={() => {
const blocks = select(\'core/editor\').getBlocks();
const block = find(blocks, [\'name\', \'NAME_OF_YOUR_BLOCK\']);
// don\'t return appender if there\'s one or more blocks:
if (block && block.innerBlocks.length > 0) return null;
// otherwise, return default appender
return (<InnerBlocks.DefaultBlockAppender />);
}}
/>
Note: 此示例使用
lodash find 函数来获取我的目标块。也许有更好的方法可以做到这一点,但目前它确实起到了作用。
此外,请确保导入select
作用E、 g。
import { select } from \'@wordpress/data\';