fixed: 新闻素材全选bug

This commit is contained in:
LittleBoy 2024-12-23 22:25:07 +08:00
parent a3a2e09000
commit 7bcdc03b53

View File

@ -1,4 +1,4 @@
import React, {useRef, useState} from "react"; import React, {useMemo, useRef, useState} from "react";
import {Checkbox, Divider, Empty, Modal, Space} from "antd"; import {Checkbox, Divider, Empty, Modal, Space} from "antd";
import {useRequest} from "ahooks"; import {useRequest} from "ahooks";
import {CloseOutlined} from "@ant-design/icons" import {CloseOutlined} from "@ant-design/icons"
@ -55,10 +55,16 @@ export default function NewsIndex() {
}) })
} }
const currentEnabledList = useMemo(()=>{
if(data?.list && data?.list?.length > 0){
return data.list.filter(s=>s.internal_article_id == 0)
}
return [];
},[data?.list])
const handleCheckAll = (checked: boolean) => { const handleCheckAll = (checked: boolean) => {
setState({checkAll: checked}) setState({checkAll: checked})
if (checked) { if (checked) {
setCheckedId(data?.list?.map(item => item.id) || []) setCheckedId(currentEnabledList.map(item => item.id) || [])
} else { } else {
setCheckedId([]) setCheckedId([])
} }
@ -114,7 +120,7 @@ export default function NewsIndex() {
<span className={'inline-block cursor-pointer mr-2'} onClick={() => { <span className={'inline-block cursor-pointer mr-2'} onClick={() => {
handleCheckAll(!state.checkAll) handleCheckAll(!state.checkAll)
}}></span> }}></span>
<Checkbox checked={state.checkAll && checkedId.length == data?.list.length} onChange={e => { <Checkbox checked={state.checkAll && checkedId.length == currentEnabledList.length} onChange={e => {
handleCheckAll(e.target.checked) handleCheckAll(e.target.checked)
}}></Checkbox> }}></Checkbox>
</div> </div>