I recall reading that you need the temp variable because jsModel ends up being const so you can't update it directly, you can only set a new version. Incidentally, that leads to the next issue of actually updating the values.
I think, in order to create this property editor, I need to take the variant map, construct a QAbstractItemModel from the map and use that in a ListView.