Repository: element-plus/element-plus
File: packages/components/select/src/select.vue (Vue)

Code before:
                    </slot>
                  </span>
                </el-tag>
              </div>

              <el-tooltip
                v-if="collapseTags && states.selected.length > maxCollapseTags"
                ref="tagTooltipRef"
                :disabled="dropdownMenuVisible || !collapseTagsTooltip"
                :fallback-placements="
                  tagTooltip.fallbackPlacements ?? [
                    'bottom',
                    'top',
                    'right',
                    'left',
                  ]
                "
                :effect="tagTooltip.effect ?? effect"
                :placement="tagTooltip.placement ?? 'bottom'"
                :popper-class="tagTooltip.popperClass ?? popperClass"
                :popper-style="tagTooltip.popperStyle ?? popperStyle"
                :teleported="tagTooltip.teleported ?? teleported"
                :append-to="tagTooltip.appendTo ?? appendTo"
                :popper-options="tagTooltip.popperOptions ?? popperOptions"
                :show-after="tagTooltip.showAfter"
                :offset="tagTooltip.offset"
              >
                <template #default>
                  <div
                    ref="collapseItemRef"
                    :class="nsSelect.e('selected-item')"
                  >
                    <el-tag
                      :closable="false"
                      :size="collapseTagSize"
                      :type="tagType"
                      :effect="tagEffect"
                      disable-transitions
                      :style="collapseTagStyle"
                    >
                      <span :class="nsSelect.e('tags-text')">
                        + {{ states.selected.length - maxCollapseTags }}
                      </span>
                    </el-tag>
                  </div>
                </template>
                <template #content>
                  <div ref="tagMenuRef" :class="nsSelect.e('selection')">
                    <div
                      v-for="item in collapseTagList"
                      :key="getValueKey(item)"

Review comment (suggestion):
Maybe we can keep the original list of props and then use `v-bind="tagTooltip"`. What do you think? Vue should automatically merge props with the same name.

Code after:
                    </slot>
                  </span>
                </el-tag>
              </div>

              <el-tooltip
                v-if="collapseTags && states.selected.length > maxCollapseTags"
                ref="tagTooltipRef"
                :disabled="dropdownMenuVisible || !collapseTagsTooltip"
                :fallback-placements="
                  tagTooltip?.fallbackPlacements ?? [
                    'bottom',
                    'top',
                    'right',
                    'left',
                  ]
                "
                :effect="tagTooltip?.effect ?? effect"
                :placement="tagTooltip?.placement ?? 'bottom'"
                :popper-class="tagTooltip?.popperClass ?? popperClass"
                :popper-style="tagTooltip?.popperStyle ?? popperStyle"
                :teleported="tagTooltip?.teleported ?? teleported"
                :append-to="tagTooltip?.appendTo ?? appendTo"
                :popper-options="tagTooltip?.popperOptions ?? popperOptions"
                :transition="tagTooltip?.transition"
                :show-after="tagTooltip?.showAfter"
                :hide-after="tagTooltip?.hideAfter"
                :auto-close="tagTooltip?.autoClose"
                :offset="tagTooltip?.offset"
              >
                <template #default>
                  <div
                    ref="collapseItemRef"
                    :class="nsSelect.e('selected-item')"
                  >
                    <el-tag
                      :closable="false"
                      :size="collapseTagSize"
                      :type="tagType"
                      :effect="tagEffect"
                      disable-transitions
                      :style="collapseTagStyle"
                    >
                      <span :class="nsSelect.e('tags-text')">
                        + {{ states.selected.length - maxCollapseTags }}
                      </span>
                    </el-tag>
                  </div>
                </template>
                <template #content>
                  <div ref="tagMenuRef" :class="nsSelect.e('selection')">