Vue.js 如何在带有Antd和VueJS的表格单元格中使用customRender

Vue.js 如何在带有Antd和VueJS的表格单元格中使用customRender,vue.js,antd,Vue.js,Antd,我正在我的应用程序中使用antd,我正在尝试使用customRender在单元格中显示图像 我的列数组如下所示: columns: [ { title: 'Design', dataIndex: 'designImage.fileUrl', customRender () { // h will be injected return '<div id="foo">bar</div

我正在我的应用程序中使用antd,我正在尝试使用customRender在单元格中显示图像

我的列数组如下所示:

columns: [
        { title: 'Design',
          dataIndex: 'designImage.fileUrl',
          customRender () { // h will be injected
            return '<div id="foo">bar</div>'
          }
        },
]
列:[
{标题:'设计',
dataIndex:'designImage.fileUrl',
将注入customRender(){//h
返回“bar”
}
},
]
所以,正如你所想象的,结果是这样的:

columns: [
        { title: 'Design',
          dataIndex: 'designImage.fileUrl',
          customRender () { // h will be injected
            return '<div id="foo">bar</div>'
          }
        },
]

我也试过这样做:

{ title: 'Design',
          dataIndex: 'designImage.fileUrl',
          customRender: (text, record, index) => {
            return {
              children: '<img src="https://via.placeholder.com/300.png/09f/fff">'
            }
          }
        },
{标题:“设计”,
dataIndex:'designImage.fileUrl',
customRender:(文本、记录、索引)=>{
返回{
子项:“”
}
}
},
不幸的是,结果是这样的:

columns: [
        { title: 'Design',
          dataIndex: 'designImage.fileUrl',
          customRender () { // h will be injected
            return '<div id="foo">bar</div>'
          }
        },
]


有人能帮我找出我做错了什么吗?

您可以利用列中的scopedSlots属性,并使用它为customRender属性定义一个作用域插槽

以下是一个例子:

const列=[
{
标题:“图像”,
数据索引:“图像”,
键:“图像”,
scopedSlots:{customRender:“图像列”},
},
];
现在,在模板中,您可以使用图像列命名槽,如下所示:

columns: [
        { title: 'Design',
          dataIndex: 'designImage.fileUrl',
          customRender () { // h will be injected
            return '<div id="foo">bar</div>'
          }
        },
]

下面是一个组件示例:


常量列=[
{
标题:“图像”,
数据索引:“图像”,
键:“图像”,
scopedSlots:{customRender:“图像列”},
},
];
常数表数据=[
{
图像:“https://picsum.photos/200",
},
{
图像:“https://picsum.photos/200",
},
];
导出默认值{
数据(){
返回{
柱,
表格数据,
};
},
};