Set view plugin submit handler I'm trying to create my own AreaPlugin. But there's submit handler doesn't work.

Here is a part of my code.

class MyAreaPlugin extends AreaPluginBase {

  /**
   * {@inheritdoc}
   */
  public function render($empty = FALSE) {
    $result['my_plugin_form'] = [
      '#type' =&gt; 'form',
      '#form_id' =&gt; 'my_plugin_form_id',
    ];
    $result['my_plugin_form']['actions'] = ['#type' =&gt; 'actions'];
    // There will be more actions.
    $result['my_plugin_form']['actions']['button_id'] = [
      '#type' =&gt; 'submit',
      '#value' =&gt; 'Button text',
      '#name' =&gt; 'button_name',
      '#submit' =&gt; [[$this, 'buttonClickHandler']],
    ];
    return $result;
  }

  /**
   * Button click handler.
   *
   * @param array $form
   *   This form.
   * @param \Drupal\Core\Form\FormStateInterface $form_state
   *   This form state.
   */
  public function buttonClickHandler(array &amp;$form, FormStateInterface $form_state) {
    drupal_set_message('exportData');
  }
}


How it can be done correct way?
Submit handlers only work in a form. If you want to put some kind of an action in render(), then use a normal link to an export display of the view or to a batch which uses an embedded view.