Skip to content

useSlotNameResolver

Overview

Helper to resolve the most specific slot name from a list of candidates in order of precedence.

Signature

useSlotNameResolver(slotNamesInOrderOfPrecedence, slots)

Parameters

NameTypeRequiredDescription
slotNamesInOrderOfPrecedenceSlotNamesInOrderOfPrecedenceyesThe slot names to check for, in order of precedence.
slotsobjectnoThe slots object to check against. If not provided, the current instance's slots will be used.

Returns

- The resolved slot name.

Examples

vue
<script setup>
import { useSlotNameResolver } from '@vueda/use/useSlotNameResolver.js';

// some reactive/dynamic logic
const myFieldName = computed(() => 'myField');
const mySlotsNames = computed(() => ([
  `field(${unref(myFieldName)})mySlot`, `field-mySlot`, 'mySlot'
]));
const mySlot = useSlotNameResolver(mySlotsNames);
</script>
<template>
    ...
    <!-- translate outside slot names to mySlot -->
    <some-sub-component>
      <template name="mySlot">
        <slot v-if="mySlot.exists" :name="mySlot.name" />
      </template>
    </some-sub-component>
    ...
</template>

Source

client/lib/use/useSlotNameResolver.js:58

Documents matching: server v3.0.0a1.post1client v3.0.0-alpha.2