在使用 antd-vue 的 icon 图标时,遇见一个问题就是每个卡片图标要不一样,但是antd-icon 的组件是<图标名 />这样子的组件,没办法传值修改图标呀,就只能试着修改图标名来渲染不同的图标。
先直接硬传
<item.iconClass />
//执行结果,什么也没有,连 dom 元素都没生成
放在双花括号里面
<{{ item.iconClass }} />
//执行结果渲染出来了字符串,因为我把组件名认为是一个字符串
最终方案
//遍历的数据,这里只写了组件列表
cosnt component = [
{
iconClass: component1,
}, {
iconClass: component2,
}, {
iconClass: component2,
}
]
//然后在遍历的元素里面
<components :is="item.iconClass" />
这里要绑定,不然会把它看成一个字符串