如何返回带有定制属性的div(编写Gutenberg块代码)

时间:2020-05-13 作者:StefanR

我正在制作一个评论小部件,它是一个短代码和古腾堡块。短代码部分很简单,因为我以前已经构建了许多短代码,但我一直在构建我的第一个古腾堡块。

更具体地说,我已经学习了如何构建一个用自定义类输出div的块,但我找不到如何在任何地方添加自定义div属性。。。

下面是负责块输出的代码:

return el( \'div\',
      {
         className: \'review-widget\',
      }

   ); // End return
这个输出

<div class="review-widget"></div>

正确地

但是,我需要输出如下div:

<div class="review-widget" data-limit="10"></div>

但我很难将数据限制=“10”添加到div中。

我尝试过:

return el( \'div\',
      {
         className: \'review-widget\',
         data-limit: 10
      }

   ); // End return
但它不起作用。。。

任何想法都将不胜感激:)

2 个回复
SO网友:WebElaine

您可以尝试返回JSX,跳过el 零件:

return (
    <div
        className=\'review-widget\'
        data-limit=\'10\'
    >
    </div>
);
也可能是你需要在原文中引用10el 实例

SO网友:StefanR

我在这里找到了答案:https://stackoverflow.com/questions/43410377/how-to-add-data-attribute-without-value-in-react-create-element \\o/

属性名称和属性值都应该用引号括起来:

return el( \'div\',
      {
         className: \'review-widget\',
         \'data-limit\': \'10\'
      }

   ); // End return