vue3.0加ant design的table插槽用jsx语法

vue+ant design 3.0的table插槽

最近在做ant design使用jsx封装table表格,没有想到有的语法相差甚远,自己走过的路含泪也要把这篇文章写下来:
看吧,这种插槽就是很独特。
如果你直接用vue3里面的

<template v-slot:name></template>

根本不起作用,
在这里插入图片描述
在这上面的#bodyCell和#expandedRowRender语法显然在jsx里面是不能使用的。
如图,语法都报错了~
在这里插入图片描述
废话不多说,直接上代码,本人也是翻了很久的资料才找到:
用jsx语法写ant design插槽:

 <a-table columns={this.columns} dataSource={this.dataSource} pagination={false} 
        v-slots={ {expandedRowRender:()=><div>哈哈哈哈</div>} }>
</a-table>

这个特性在其实vue2.6的时候就已经加了,只是我们没注意到而已。
辛苦的一天,写篇文章帮助和我一样的人。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue 3使用TypeScript和JSX语法编写Ant DesignTable组件可以按照以下步骤进行: 1. 首先,确保你已经安装了Ant Design Vue和TypeScript依赖: ```bash npm install ant-design-vue npm install --save-dev @types/ant-design-vue ``` 2. 在你的Vue组件引入Table组件和相关的类型定义: ```tsx import { defineComponent } from 'vue'; import { Table } from 'ant-design-vue'; export default defineComponent({ components: { Table }, // ... }); ``` 3. 在Vue组件的template使用Table组件,并使用JSX语法编写插槽内容: ```tsx <template> <Table :columns="columns" :dataSource="data"> <template #name="{ text }"> <strong>{{ text }}</strong> </template> </Table> </template> ``` 在上述示例,我们使用了`#name`插槽,它会渲染表格`name`列的内容。通过`{ text }`参数,我们可以获取到每一行的数据,并在插槽使用。 4. 在Vue组件的`data`选项定义表格的列和数据源: ```tsx export default defineComponent({ // ... data() { return { columns: [ { title: 'Name', dataIndex: 'name', key: 'name', }, // ... ], data: [ { key: '1', name: 'John Doe', }, // ... ], }; }, }); ``` 在上述示例,我们定义了一个`columns`数组来描述表格的列,每个列都有`title`、`dataIndex`和`key`属性。我们也定义了一个`data`数组,来表示表格的数据源。 这样,你就可以在Vue 3的TSX语法使用Ant DesignTable组件,并使用插槽来自定义表格的内容了。记得在组件引入样式文件,以正确渲染Ant Design的样式。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值