我有一个Quiz
包含的块Question
s块具有Answer
块。二者都Quiz
和Question
使用InnerBlocks
允许拖动、编辑和保存问题或答案。
当我保存测验时,如何获取每个问题的索引question/save.js
以及每个answer/save.js
.
我想这样做,以便我可以给所有复选框唯一的ID,如
<input id="q1-a3" />
并将问题标记为“等”;问题1"E;测验/保存。js公司
return (
<div {...blockProps}>
<InnerBlocks.Content />
</div>
);
提问/保存。js公司return (
<div {...blockProps}>
<h3>Question {numToWords(1)}</h3>
<ul class="quiz--answers">
<InnerBlocks.Content />
</ul>
</div>
);
回答/保存。js公司return (
<li {...blockProps}>
<input id="checkbox-2" type="checkbox" value="checkbox-2" />
<label class="checkbox" for="checkbox-2">
{JSON.stringify(attributes)}
{attributes.text}
<span class="quiz--answer-content">{attributes.explanation}</span>
</label>
</li>
);
我试过使用getBlockIndex( clientId )
尝试获取每个块的索引,但是我不确定在哪里使用它,因为它总是返回-1。也只是看起来clientId
在编辑功能中可用,我想我希望它在保存功能中可用,除非我将其添加到块属性中。