__appendNodes({ nodes, renderParent = this, slotName }) {
      for (const node of nodes) {
        if (node instanceof Element && slotName && slotName !== '') {
          node.setAttribute('slot', slotName);
        }
        renderParent.appendChild(node);
      }
    }
@param {object} options
@param {Node[]} options.nodes
@param {Element} [options.renderParent] It's recommended to create a render target in light dom (like <div slot=myslot>),
which can be used as a render target for most
@param {string} options.slotName For the first render, it's best to use slotName