admin管理员组

文章数量:1122832

I need to access Redux's data in a custom block in Blockly, because one of the dropdown form fields has options from redux.

export const form_select = {
  init(this: Block) {
    this.setColour(160)
    this.setTooltip('选择表单')
    this.appendDummyInput()
      .appendField('选择表单')
      // this
      .appendField(new FieldDropdown([]), 'FORMID')
    this.setHelpUrl('.asp')
    this.setOutput(true)
  },
}

Another problem is that FieldDropdown requires that a non-empty array must be passed, otherwise it will directly report an error, but my data may be empty, which is unavoidable.

I know of an ungraceful way to modify the private property menuGenerator_ directly, or inherit FieldDropdown and provide the setOptions method, and then modify the options after each redux data change. But this doesn't update Blockly immediately until I reopen the component. I wonder if there is a better solution, after all, this step is an essential step to incorporate Blockly into React.

本文标签: reactjshow to get Redux context in a custom blockStack Overflow