首页 > 其他分享 >vue3 如何在 jsx中使用 component 组件

vue3 如何在 jsx中使用 component 组件

时间:2023-01-11 13:23:05浏览次数:37  
标签:default props component vue3 组件 slots jsx

component 组件不像其它的内置组件(tansitiontransitionGroup),可以直接从 vue 中直接导出,所有要在 jsx 使用component就要使用 h 函数

使用 vue 内置组件

// xxx.jsx
import { defineComponent, Transition } from 'vue';

export default defineComponent({
    name: "v-test",
    setup(props, { attrs, slots }){
        return () => <Transition><div>{ slots.default?.() }</div></Transition>
    }
})

使用动态组件-component

// xxx.jsx
import { defineComponent } from 'vue';

export default defineComponent({
    name: "v-test",
    props:{
        tag: {
            type: String,
            default: "div",
        }
    },
    setup(props, { attrs, slots }){
        return () => h(props.tag, {...attrs}, slots.default?.())
    }
})

标签:default,props,component,vue3,组件,slots,jsx
From: https://www.cnblogs.com/guojikun/p/17043430.html

相关文章

  • Vue3 异步数据渲染模板,ref 获取不到真实节点
    获取异步数据,并把数据渲染到模板中,比如todolist等。ref只有在模板渲染之后才可以获取,而异步获取数据期间,模板可能没有被渲染。因此,直接在setup执行期间获取ref、甚至......
  • vue3 使用clodop打印插件实现不预览直接打印
    一、下载安装C-LODOPhttps://www.lodop.net/download.html   解压文件后点击exe程序,启用服务   将上述的LodopFuncs.js文件放到工程某个文件下  ......
  • vue3项目开源项目运行报错::v-deep usage as a combinator has been deprecated. Use
    今天找了一个vue3.0开源项目,在运行的时候npmi报错使用了npmi--legacy-peer-deps根据以上安装依赖成功在运行的时候有报错::v-deepusageasacombinatorhasbeend......
  • @ComponentScan详解&@SpringBootApplication的scanBasePackages属性
    一、@ComponentScan源码@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.TYPE})@Documented@Repeatable(ComponentScans.class)public@interfaceComponen......
  • VUE3 AXIOS 封装
    网上找了很多AXIOS的封装但是都不是很满意,后来参考其他人的实现做了改动后特分享出来http.ts文件封装importtype{AxiosRequestConfig,AxiosResponse}from'axios......
  • vue3 中动态绑定 img src 问题
    vite 官方默认的配置,如果资源文件在assets文件夹打包后会把图片名加上hash值,但是直接通过:src="imgSrc"方式引入并不会在打包的时候解析,导致开发环境可以正常引入,打包后......
  • vue3 之生成二维码
    使用QPCode生成二维码前提:vue3+ts项目安装QPCodenpminstallqrcodejs2-fixes引入importQRCodefrom'qrcodejs2-fixes';页面部分<divclass="login-scan-contain......
  • vue3之 websocket
    前提:vue3+ts项目使用websocket一、在utils文件夹中创建websocket.ts文件/***websocket*///constwsUrl=`ws://`+window.location.host+`/emergency/webSocket......
  • vue3+vite2 vite.config.js 配置
    vite配置官方文档:https://cn.vitejs.dev/config/shared-options.html#base 开发服务器选项-serverserver:{//host:指定服务器应该监听哪个ip地址。如果设置为......
  • react的jsx和React.createElement是什么关系?面试常问
    1、JSX在React17之前,我们写React代码的时候都会去引入React,并且自己的代码中没有用到,这是为什么呢?这是因为我们的JSX代码会被Babel编译为React.createElement,我们来......