Okay ... I wish I could think about this sooner ....
I decided to analyze the DOM and directly manipulate the DOM to solve it.
I tried to find an even more โelegantโ low-resolution solution, but it just didn't work. I tried Material-UI modal to integrate with Semantic-UI forms, but found that it does not scroll if the contents of the modal file are longer than the form, etc ...
I also tried to use the semantic interface API (available settings, etc.), but they all have some kind of negative side effects.
So here is what I did to find a solution. I looked at the HTML code generated when the MODAL was displayed, and looked at its position in the DOM.
As it turned out, when dimmer is active, Semantic-UI displays a div with this class for dimmer
ui dimmer modals page transition visible active
I found that this div is a brother and not a child of another div with class
ui fluid container pushable
which contains all my other content.
So I did this every time I run my modal, I immediately call the code to make the child of this container modal for my other content ... Thus, my modal is not covered by a dimmer.
showModal: function() { $('.ui.modal.editform').modal('show'); //$('.ui.dimmer.modals').dimmer('hide'); //$('.ui.dimmer.modals').after('.pusher'); // $('.ui.dimmer.modals').appendTo('#render-target'); $('.ui.dimmer.modals').appendTo('.ui.fluid.container.pushable'); }
To summarize: 1.) With my experience of displaying a form inside a modal using Semantic-UI with React, if you do not set the UI MODAL property to be separated from the semantic UI, these are errors with Invariant Violation, etc. The solution is to set detachable to false.
2.) After that, you may encounter the problem of dimmer modal coverage of the modal and shape and, therefore, it not only looks bad, but also can not click on the input fields, etc. .... The solution for this, at least in my case, it was to manipulate dom with jQuery and fix it regardless of what the Semantic-UI forgot to do automatically.
I hope this helps someone in the future ... stuck on this for 3 days ....
I don't know if this is the best solution .... but it worked. Let me know if you have a better solution ...