首页 > 解决方案 > 渲染函数中的 Vue.js 类型的 createElement

问题描述

我正在使用一个 vue-select 插件,并且使用渲染功能为其创建自定义按钮。文档:https ://vue-select.org/guide/components.html#deselect

我正在使用启用了 TypeScript 的基于类的组件,我想渲染这两个元素。

目前我像这样使用它们:

Deselect: object = {
    render: (createElement: any) => createElement('i', { attrs: { class: 'ri-close-line' } }),
}

OpenIndicator: object = {
    render: (createElement: any) => createElement('i', { class: { 'ri-arrow-down-s-line': true } })
}

它工作正常,但我不想使用“任何”类型。createElement 是什么类型?

标签: javascripttypescriptvue.js

解决方案


正确的类型是CreateElement从 vue 导入的:

import  { CreateElement } from 'vue'


Deselect: object = {
    render: (createElement: CreateElement ) => createElement('i', { attrs: { class: 'ri-close-line' } }),
}

OpenIndicator: object = {
    render: (createElement: CreateElement ) => createElement('i', { class: { 'ri-arrow-down-s-line': true } })
}

推荐阅读