vue3的组件中使用slot

场景:在写好的表格组件中,需要在写好的默认操作的基础上,具备另外的操作。使用slot

 组件里面只有修改功能,另外两个功能自己加。

 页面中使用具名插槽插入自己需要的其他功能。

也可以直接使用 <slot></slot>直接插入内容。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 3,你可以使用`<slot>`元素来定义插槽(slot)。你可以在父组件使用具名插槽(v-slot)或作用域插槽进行渲染不同的内容。 具名插槽(v-slot)用于在父组件渲染不同的内容。你可以在父组件的模板使用`<template>`标签,并通过`v-slot`指令来定义具名插槽。例如: ```javascript const app = Vue.createApp({ template: ` <layout> <template v-slot:header> <div>header</div> </template> <template v-slot:footer> <div>footer</div> </template> </layout> ` }) app.component('layout', { template: ` <div> <slot name="header"></slot> <div>content</div> <slot name="footer"></slot> </div> ` }) const vm = app.mount("#root") ``` 作用域插槽用于在子组件渲染数据,并在父组件定义不同的标签。你可以在子组件的模板使用`<slot>`标签,并通过`v-for`指令和`:item`属性来定义作用域插槽。例如: ```javascript const app = Vue.createApp({ template: ` <mylist> <span>{{slotProps.item}}</span> </mylist> ` }) app.component('mylist', { data() { return { list: [1, 2, 3] } }, template: ` <div> <slot v-for="item in list" :item="item"></slot> </div> ` }) const vm = app.mount("#root") ``` 除了具名插槽和作用域插槽之外,你还可以在使用插槽时更灵活地控制渲染的内容。例如,在父组件使用双标签,并在子组件使用`<slot>`元素来替换标签之间的内容。例如: ```javascript const app = Vue.createApp({ template: ` <myform> <div>提交</div> </myform> <myform> <button>提交</button> </myform> ` }) app.component('myform', { methods: { handleClick() { alert('handleClick') } }, template: ` <div> <input /> <span @click="handleClick"> <slot></slot> </span> </div> ` }) const vm = app.mount("#root") ``` 以上就是Vue 3使用插槽的方法。你可以根据需要选择具体的插槽方式来渲染不同的内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Vue3slot](https://blog.csdn.net/q709971076/article/details/120068271)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值