expandIcon ant-vue-design中嵌套表格table的expandIcon自定义图标vue3.0+ts报错解决方式

在使用Ant Vue Design时遇到表格展开图标自定义的问题,由于直接解析jsx报错,通过创建icon.js文件并引入RightOutlined和DownOutlined图标解决。在icon.js中根据记录的子项长度动态设置展开图标,并在点击时调用onExpand方法。该方法适用于vue3.0+ts环境。

expandIcon ant-vue-design中嵌套表格table的expandIcon自定义图标vue3.0+ts报错解决方式

<a-table :columns="columns" :data-source="data" v-if="data.length>0" 
    :indentSize="25"
    :expandIcon="iconFun" 
    :pagination="false" :rowKey="(record)=>{ return record.id}">
  </a-table>
  	<script lang="ts">
	import iconFun from './icon'
	</script>

因为现在直接解析jsx报错,换个思路,在js中注册,直接引用渲染好的vnode。同目录新建一个icon.js

import { RightOutlined, DownOutlined} from "@ant-design/icons-vue";
const iconFun=(props)=>{
    console.log(props)
    if (props.record.children.length > 0) {
        if (props.expanded) {//有数据-展开时候图标
        return <i style="color:'black';margin-right:8px"
                onClick={(e) => {
                  props.onExpand(props.record, e);
                }}
              >
               <DownOutlined />
              </i>
          
        } else{
          return <i style="color:'black';margin-right:8px"
          onClick={(e) => {
            props.onExpand(props.record, e);
          }}
        >
            <RightOutlined />
        </i>
           
        }
      }
}
export default iconFun
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值