Voy a ir dejando por aquí cómo migrar ciertos elementos de Vue2 a Vue3 para tenerlo todo junto en un mismo sitio hasta que me lo aprenda.
Scoped slots
Dentro del componente:
slot(name="icons" :row="scope.row")
Para acceder al slot dentro del código del componente:
import { useSlots } from "vue";
const slots = useSlots();
console.log(slots.icons);
En el padre:
template(#icons="{ row }")
div {{ row }}
nextTick
nextTick(() => {});
Acceder a los datos de una fila de el-table
template(#default="scope")
pre {{ scope.row }}
Emitir eventos
const emit = defineEmits(["myEvent"]);
emit("myEvent", { foo: bar });
Llamar a un método de un componente desde una referencia
Por defecto todos los métodos del componente son privados, así que hay que indicar que queremos que se pueda acceder desde fuera:
defineExpose({ nombreDelMetodo1, nombreDelMetodo2 });