Looping inside block return

时间:2020-03-08 作者:Leonardo Petrucci

我有一个自定义块,允许我选择颜色。以下是块的返回函数的外观:

                return (
                        el( \'div\', { },
                                el( \'div\',
                                        { },
                                        el( ColorPalette, { 
                                                value: props.attributes.paletteData[0],
                                                onChange: updatePalette,
                                        } )
                                )

                        ) 
                );
目前显示的是单色选择器。

但是,我希望我的块显示尽可能多的颜色选择器,因为其中有值props.attributes.paletteData.

我如何才能做到这一点?我希望我能像你一样循环,做出这样的反应:

return (
   {
      props.attributes.paletteData.map(value => {
         return (
            el( ColorPalette, {
               value: etc,
               onChange: etc,
            }
         )
      }
   }
但我还没能让它发挥作用。

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

好吧,改变一下:

el( ColorPalette, {
    value: props.attributes.paletteData[0],
    onChange: updatePalette,
} )
对此:

el( \'div\', {}, props.attributes.paletteData.map(
    function ( value, i ) {
        return el( ColorPalette, {
            \'value\': value,
            onChange: updatePalette,
            key: \'color-\' + i, // required
            //...
        } );
    }
) )
一、 e.传递元素数组作为第三个参数:

el( \'div\', {}, <array of elements here> )
还是我不理解你?

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在