From 2c867b3d636d57cdc526a4ca600af7d747b7d833 Mon Sep 17 00:00:00 2001 From: 无木 <netfan@foxmail.com> Date: 星期四, 19 八月 2021 23:57:42 +0800 Subject: [PATCH] feat(table): add `beforeEditSubmit` for editable cell --- src/views/demo/table/EditCellTable.vue | 41 ++++++++++++++++++++++++++++++++++++++++- 1 files changed, 40 insertions(+), 1 deletions(-) diff --git a/src/views/demo/table/EditCellTable.vue b/src/views/demo/table/EditCellTable.vue index 8131f41..70d6ee9 100644 --- a/src/views/demo/table/EditCellTable.vue +++ b/src/views/demo/table/EditCellTable.vue @@ -4,6 +4,7 @@ @register="registerTable" @edit-end="handleEditEnd" @edit-cancel="handleEditCancel" + :beforeEditSubmit="beforeEditSubmit" /> </div> </template> @@ -14,6 +15,7 @@ import { demoListApi } from '/@/api/demo/table'; import { treeOptionsListApi } from '/@/api/demo/tree'; + import { useMessage } from '/@/hooks/web/useMessage'; const columns: BasicColumn[] = [ { title: '杈撳叆妗�', @@ -93,7 +95,7 @@ }, { title: '杩滅▼涓嬫媺鏍�', - dataIndex: 'name7', + dataIndex: 'name71', edit: true, editComponent: 'ApiTreeSelect', editRule: false, @@ -157,8 +159,44 @@ bordered: true, }); + const { createMessage } = useMessage(); + function handleEditEnd({ record, index, key, value }: Recordable) { console.log(record, index, key, value); + return false; + } + + // 妯℃嫙灏嗘寚瀹氭暟鎹繚瀛� + function feakSave({ value, key, id }) { + createMessage.loading({ + content: `姝e湪妯℃嫙淇濆瓨${key}`, + key: '_save_fake_data', + duration: 0, + }); + return new Promise((resolve) => { + setTimeout(() => { + if (value === '') { + createMessage.error({ + content: '淇濆瓨澶辫触锛氫笉鑳戒负绌�', + key: '_save_fake_data', + duration: 2, + }); + resolve(false); + } else { + createMessage.success({ + content: `璁板綍${id}鐨�${key}宸蹭繚瀛榒, + key: '_save_fake_data', + duration: 2, + }); + resolve(true); + } + }, 2000); + }); + } + + async function beforeEditSubmit({ record, index, key, value }) { + console.log('鍗曞厓鏍兼暟鎹鍦ㄥ噯澶囨彁浜�', { record, index, key, value }); + return await feakSave({ id: record.id, key, value }); } function handleEditCancel() { @@ -169,6 +207,7 @@ registerTable, handleEditEnd, handleEditCancel, + beforeEditSubmit, }; }, }); -- Gitblit v1.8.0