The WebformSubmission::resave() method prevents the ::save and ::postSave recursion issue from occuring.


You can use form alter to access $form array and display/hide specific elements, more details: https://www.drupal.org/docs/8/modules/webform/webform-cookbook/how-to-programmatically-hide-and-show-webform-elements. function CUSTOM_MODULE_form_webform_submission_WEBFORM_NAME_add_form_alter(array &$form, FormStateInterface $form_state, $form_id) { $...


You'll notice that for anonymous visitors, webform does store a cookie so that it knows if you've submitted a particular form (assuming a default webform configuration). So in theory, you could hook into that with some custom code to display and/or hide content.


You can keep the field set to single choice, and use hook_webform_submission_render_alter() to display the values as if it was still a multi-select field. You can use the hook in a module or the template.php of a theme. If you are thinking about implementing it in a theme, keep in mind that the Webform Results view is displayed through the Administration ...


Use [current-page:query:foo] in Default Value field and set query string to node/1?foo=1,2 and it will work. Installing Tokens module will show you some values you can use in your default value field.

Only top voted, non community-wiki answers of a minimum length are eligible