瀏覽代碼

修复广告账户搜索回车,广告列表支持翻页多选

shenwu 2 年之前
父節點
當前提交
1f4043b492
共有 1 個文件被更改,包括 29 次插入25 次删除
  1. 29 25
      src/pages/launchSystemNew/adq/ad/index.tsx

+ 29 - 25
src/pages/launchSystemNew/adq/ad/index.tsx

@@ -411,32 +411,36 @@ const Ad: React.FC<Props> = (props) => {
                             record?.deepConversionSpec?.deepConversionWorthSpec?.goal === 'GOAL_1DAY_PURCHASE_ROAS'
                         )
                 }),
-                onChange: (selectedRowKeys: any, selectedRowss: any) => {
-                    let newArr: any = [...selectedRows]
-                    let type = selectedRowss.length === 0 ? 'delAll' : selectedRowss.length === listAjax?.data.data.records.length ? 'add' : 'del'
-                    switch (type) {
-                        case 'add':
-                            console.log('新增')
-                            newArr = [...newArr, ...selectedRowss]
-                            break;
-                        case 'del':
-                            console.log('删除')
-                            newArr.forEach((item: { adgroupId: any }) => {
-                                if (selectedRowss.every((i: { adgroupId: any }) => i.adgroupId != item.adgroupId)) {
-                                    newArr = newArr.filter((i: { adgroupId: any }) => i.adgroupId != item.adgroupId)
-                                }
-                            })
-                            break;
-                        case 'delAll':
-                            console.log('删除全部')
-                            newArr.forEach((item: { adgroupId: any }) => {
-                                if (listAjax?.data.data.records.some((i: { adgroupId: any }) => i.adgroupId == item.adgroupId)) {
-                                    newArr = newArr.filter((i: { adgroupId: any }) => i.adgroupId != item.adgroupId)
-                                }
-                            })
-                            break;
+                onSelect: (record: { adgroupId: number, mpName: string }, selected: boolean) => {
+                    if (selected) {
+                        selectedRows.push({ ...record })
+                        setSelectedRows([...selectedRows])
+                    } else {
+                        let newSelectAccData = selectedRows.filter((item: { adgroupId: number }) => item.adgroupId!== record.adgroupId)
+                        setSelectedRows([...newSelectAccData])
+                    }
+                },
+                onSelectAll: (selected: boolean, selectedRowss: { adgroupId: number }[], changeRows: { adgroupId: number }[]) => {
+                    if (selected) {
+                        let newSelectAccData = [...selectedRows]
+                        changeRows.forEach((item: { adgroupId: number }) => {
+                            let index = newSelectAccData.findIndex((ite: { adgroupId: number }) => ite.adgroupId === item.adgroupId)
+                            if (index === -1) {
+                                newSelectAccData.push({ ...item })
+                            }
+                        })
+                        setSelectedRows([...newSelectAccData])
+                    } else {
+                        let newSelectAccData = selectedRows.filter((item: { adgroupId: number }) => {
+                            let index = changeRows.findIndex((ite: { adgroupId: number }) => ite.adgroupId === item.adgroupId)
+                            if (index !== -1) {
+                                return false
+                            } else {
+                                return true
+                            }
+                        })
+                        setSelectedRows([...newSelectAccData])
                     }
-                    setSelectedRows(newArr)
                 }
             }}
             onChange={(props: any) => {