基于ant-design-vue實(shí)現(xiàn)表格操作按鈕組件
使用效果
先看下默認(rèn)效果

支持按鈕超過(guò)一定數(shù)量自動(dòng)放到【更多】下拉按鈕里面

按鈕支持動(dòng)態(tài)控制是否禁用,是否顯示。
下面是一個(gè)代碼示例。
export default Vue.extend({
data() {
return {
dataSource: [
{ id: 1, username: '張三', disabled: 1 },
{ id: 2, username: '李四', disabled: 0 },
{ id: 3, username: '王二麻子', disabled: 0 },
] as MyData[],
columns: [
//
{ title: '#', dataIndex: 'id' },
{ title: '姓名', dataIndex: 'username' },
{
title: '狀態(tài)',
dataIndex: 'disabled',
customRender: (value: number) => {
return value === 0 ? (
<a-tag color="green">啟用</a-tag>
) : (
<a-tag>禁用</a-tag>
);
},
},
useActionButtons<MyData>({
align: 'center',
title: '操作',
limit: 0,
showDivider: false,
buttons: [
{ icon: 'search', text: '查看' },
{ icon: 'edit', text: '編輯' },
{
text: '禁用',
visible: (record) => record.disabled === 0,
},
{
text: '啟用',
visible: (record) => record.disabled === 1,
},
{
icon: 'message',
text(record, index) {
return `未讀消息(${record.id.toString()})`;
},
},
{
icon: 'delete',
text: '刪除',
disabled: (record) => record.disabled === 0,
click: (record, index) => {
this.$confirm({
content: `確認(rèn)刪除${record.username}嗎?`,
});
},
},
],
}),
],
};
},
});介紹用法
type useActionButtons = (config: ActionButtonsConfig) => Table.Column;
原理就是通過(guò)一個(gè)函數(shù),返回了一個(gè)帶customRender的列的配置。
參數(shù)介紹 函數(shù)聲明
export declare interface ActionButtonsConfig<T> extends Table.Column {
limit: number;
showDivider: boolean;
buttons: Array<ActionButtonsColumnConfig<T>>;
}| 參數(shù) | 類(lèi)型 | 描述 |
|---|---|---|
| limit | number | 設(shè)置一個(gè)數(shù)量,超過(guò)該數(shù)量,則展示【更多】下拉按鈕。默認(rèn) 0,表示按鈕將全部展示 |
| showDivider | boolean | 是否展示分隔符,默認(rèn)展示 |
| buttons | ButtonConfig[] | 要展示的按鈕數(shù)組,具體配置看下面介紹 |
ButtonConfig
| 參數(shù) | 類(lèi)型 | 描述 |
|---|---|---|
| text? | string 或 (record, index) => string | 設(shè)置按鈕文本,同時(shí)支持動(dòng)態(tài)設(shè)置,參數(shù)為當(dāng)前行的相關(guān)數(shù)據(jù) |
| icon? | string | 設(shè)置按鈕圖標(biāo) |
| click | (record, index) => void | 設(shè)置按鈕點(diǎn)擊事件,參數(shù)為當(dāng)前行的相關(guān)數(shù)據(jù) |
| disabled? | (record, index) => boolean | 動(dòng)態(tài)設(shè)置按鈕是否禁用,參數(shù)為當(dāng)前行的相關(guān)數(shù)據(jù) |
| visible? | (record, index) => boolean | 動(dòng)態(tài)設(shè)置按鈕是否顯示,參數(shù)為當(dāng)前行的相關(guān)數(shù)據(jù) |
安裝
npm i action-buttons
使用
目前沒(méi)有寫(xiě)任何樣式文件,想修改樣式的話(huà),需要自行在項(xiàng)目處理。
按鈕的根節(jié)點(diǎn)設(shè)置了一個(gè) class="action-buttons"
直接在頁(yè)面引入
import { useActionButtons, ActionButtons } from 'action-buttons';然后寫(xiě)到 Table Columns 數(shù)組里面對(duì)應(yīng)位置即可。
雖然導(dǎo)出了組件ActionButtons,但還是推薦直接使用提供的useActionButtons方法直接去配置表格的操作列。
源碼 https://github.com/Tickly/action-buttons
以上就是基于ant-design-vue實(shí)現(xiàn)表格操作按鈕組件的詳細(xì)內(nèi)容,更多關(guān)于ant-design-vue表格操作按鈕的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
vue3 element-plus el-tree自定義圖標(biāo)方式
這篇文章主要介紹了vue3 element-plus el-tree自定義圖標(biāo)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
Vue+Microapp實(shí)現(xiàn)微前端的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何實(shí)現(xiàn)以vite+vue3+Microapp為主應(yīng)用,以vue2+element為子應(yīng)用的微前端,感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下吧2023-06-06
vue實(shí)現(xiàn)html轉(zhuǎn)word與word全過(guò)程
本文介紹了如何在Vue中實(shí)現(xiàn)HTML轉(zhuǎn)Word功能,通過(guò)拖拽組件生成類(lèi)似Word的界面,并實(shí)時(shí)預(yù)覽,主要使用了htmlDocx和htmlToDocx插件將HTML轉(zhuǎn)換為.docx格式,同時(shí),還討論了檢查.docx文件是否損壞的方法2026-01-01
Vue Router實(shí)現(xiàn)新窗口打開(kāi)的三種方法
在Vue開(kāi)發(fā)中,經(jīng)常需要實(shí)現(xiàn)新窗口打開(kāi)路由頁(yè)面的需求,本文將系統(tǒng)介紹Vue Router中實(shí)現(xiàn)新窗口打開(kāi)的三種主要方法,包括router-link組件方式、編程式導(dǎo)航方式和原生window.open方式,需要的朋友可以參考下2026-03-03
用vue構(gòu)建多頁(yè)面應(yīng)用的示例代碼
這篇文章主要介紹了用vue構(gòu)建多頁(yè)面應(yīng)用的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09
使用vue + less 實(shí)現(xiàn)簡(jiǎn)單換膚功能的示例
下面小編就為大家分享一篇使用vue + less 實(shí)現(xiàn)簡(jiǎn)單換膚功能的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-02-02
Vue3+Koa2實(shí)現(xiàn)圖片上傳功能的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何使用Vue3和Koa2實(shí)現(xiàn)圖片上傳功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02
vue?cli3配置image-webpack-loader方式
這篇文章主要介紹了vue?cli3配置image-webpack-loader方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
如何用vue-pdf包實(shí)現(xiàn)pdf文件預(yù)覽,支持分頁(yè)
這篇文章主要介紹了如何用vue-pdf包實(shí)現(xiàn)pdf文件預(yù)覽,支持分頁(yè)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03

