Recreate the tileMap in the scene

The reason I want to do this is because it feels weird to restart the scene when the sprite object is the same. So I want to know if there’s anyway to keep the sprite object and change a few things only.

For example. The map contains door. When the player press the button to open. I want to change the tilemap and reposition the player to the correspond position on the new one.
I try to call the create function again of the scene, while it does change the map and the position. The game becomes broken for the player won’t respond to key inputs anymore.

One thing I’ve noticed is that some of the update event is missing after the tileMap is changed.
This is the update event when the scene is created.

And here is the update event after I recreate the tileMap.

I’ve set up a codesandbox to better demonstrate what I mean by rebuild the tileMap.
Anyone know how to do this?