Open stars-oceans opened 1 year ago
前言 在使用elementUI组件库的时候,经常遇见组件带有默认插槽,带有默认插槽的需要我们改写,因为在接下来的删除、添加等功能中点用函数需要传参。
例如:table组件中的默认插槽slot-scope="scope",这里是老版写法,我们也这样写就会报错。
<template slot-scope="scope"> <el-button size="mini" @click="handleEdit(scope.$index, scope.row)">Edit</el-button> <el-button size="mini" type="danger" @click="handleDelete(scope.$index, scope.row)">Delete</el-button> </template>
1.第一种写法
<template #defalut="scope"> <el-button size="mini" @click="handleEdit(scope.$index, scope.row)">Edit</el-button> <el-button size="mini" type="danger" @click="handleDelete(scope.$index, scope.row)">Delete</el-button> </template>
<template #defalut> <el-button size="mini" @click="handleEdit({row})">Edit</el-button> <el-button size="mini" type="danger" @click="handleDelete({row})">Delete</el-button> </template>
<template #defalut="{row}"> <el-button size="mini" @click="handleEdit(row)">Edit</el-button> <el-button size="mini" type="danger" @click="handleDelete(row)">Delete</el-button> </template>
例如:table组件中的默认插槽#default="scope""或#default,。
<template #default> <el-button link type="primary" size="small" @click="handleClick" >Detail</el-button> <el-button link type="primary" size="small">Edit</el-button> </template> <template #default="scope"> <el-button size="small" @click="handleEdit(scope.$index, scope.row)" >Edit</el-button> <el-button size="small" type="danger" @click="handleDelete(scope.$index, scope.row)" >Delete</el-button> </template>
这里需要改写为: 1.第一种写法 <template #default='scope'> <el-button link type="primary" size="small" @click="handleClick" Detail</el-button <el-button link type="primary" size="small">Edit</el-button> </template> 2.第二种写法 <template #defalut> <el-button size="mini" @click="handleEdit({row})">Edit</el-button> <el-button size="mini" type="danger" @click="handleDelete({row})">Delete</el-button> </template> 3.第三种写法
这里需要改写为:
<template #default='scope'> <el-button link type="primary" size="small" @click="handleClick" Detail</el-button <el-button link type="primary" size="small">Edit</el-button> </template>
两个版本的默认插槽使用方法一样,传参的三种方式也相同。
ElementUI【一】elementUI组件库默认插槽的使用(#default)
一、基于vue2的ElementUI
这里需要改写为:
2.第二种写法
3.第三种写法
二、基于vue3的ElementUI(element-plus)
总结
两个版本的默认插槽使用方法一样,传参的三种方式也相同。