Whatever processing your script is doing, set the final output to TABLE (not GPRecordSet). If you were to create a simple model with the tool Copy Rows and set the output parameter, its a TABLE output. Follow this same pattern for your PYT. When you publish a GP Service outputs become hardcoded (the end user cannot set them). The publishing process will change the output to a GPRecordSet per the REST interface, as it should. Let the system do this work for you as its easier to create the tool with the table output parameter.
After publishing, the WAB understands table (gprecordset) as an output from a GP Service and will display it when that result comes back.
If this doesn't answer your question I suggest you add more information on where your problem is: creating the tool, publishing the tool, creating the web application, etc.