Rumah > Soal Jawab > teks badan
P粉1558329412023-09-02 12:37:55
Jika anda benar-benar perlu melakukan ini dengan slot, maka anda perlu melakukan ini Menggunakan fungsi Vue render dan JSX
<script setup> import { useSlots, onMounted, onUpdated, ref, h} from 'vue'; const slots = useSlots() const index = ref(0) const current = ref(null) onMounted(() => { const defaultSlotElements = slots.default() current.value = defaultSlotElements[0] }), onUpdated(() =>{ console.log(defaultSlotElements[index]) } ) const render = () => { return h('div', { class: 'carousel'}, [ h('p', `My default slot has ${slots.default().length} elements.`), h('div', slots.default()[index.value]), h('p', `Picture ${ index.value + 1 }`), h('button', { onClick: () => { index.value = index.value + 1 == slots.default().length ? 0 : index.value + 1 } }, 'Next') ]); }; </script> <template> <render /> </template>
Ini kerjaSFC Playground
Dikemas kini
Fungsi pemaparan boleh digunakan dengan komponen tersuai.
Cuba bina struktur
Saya tidak nampak cara lain untuk menggunakan fungsi 默认插槽
而不是使用render
untuk membina apa yang anda mahukan.