問題描述: Table元件操作,iview自帶的icon並不能滿足我的需要,根據render函式的屬性,自己寫了幾種方式,後續會繼續新增
1, 使用iview自帶的icon圖示
這個不方便改變他們的icon型別,使用受到侷限
複製程式碼
let products: any = {
columns: [{
title: '操作',
key: 'Action',
width: 150,
render: (h, params) => {
return h('div', [
h('Icon', {
props: {
type: 'trash-a' // iview自帶的刪除icon
},
style: {
fontSize: '18px', // 改變icon的樣式
color: '#559DF9'
},
on: {
click: () => {
console.log(111) // 點選操作事件
}
}
})
])
}
}
}
複製程式碼
2, 在render函式裡面新增innerhtml
新建span標籤,在span裡面新增i標籤,生成自己想要的icon
複製程式碼
let products: any = {
columns: [{
title: '操作',
key: 'Action',
width: 150,
render: (h, params) => {
return h('div', [
h('span', {
style: {
fontSize: '18px',
color: '#559DF9'
},
domProps: { // 新增標籤,使用自己引入的iconfont圖示
innerHTML: "<i class='icon iconfont'></i>"
},
on: {
click: () => {
console.log(111) // 點選操作事件
}
}
})
])
}
}
}
複製程式碼
3, 改變render 類名來生成想要的圖示
直接新建i標籤,增加class名稱,和innerhtml
我的iconfont引入方式是Unicode格式的,如果是 font class格式的會更簡單,只需要改變class名稱就可以了
複製程式碼
let products: any = {
columns: [{
title: '操作',
key: 'Action',
width: 150,
render: (h, params) => {
return h('div', [
h('i', {
class: 'icon iconfont',
style: {
fontSize: '18px',
color: '#559DF9'
},
domProps: {
innerHTML: '' // iconfont圖示
},
on: {
click: () => {
console.log(111) // 點選操作事件
}
}
})
])
}
}
}
複製程式碼
-
如有問題,歡迎指正
-
本人為原創,如需轉載,請註明出處: render 渲染icon圖示更改方法