🐞 fix(色卡): 修复偶然不能禁用复选按钮的问题
This commit is contained in:
parent
5d5b809942
commit
bfec69d10e
@ -25,7 +25,7 @@ module.exports = {
|
||||
terserOptions: {
|
||||
// compress: true, // 默认使用terser压缩
|
||||
compress: {
|
||||
drop_console: true, // 去掉打印
|
||||
drop_console: false, // 去掉打印
|
||||
}, // 默认使用terser压缩
|
||||
// mangle: false,
|
||||
keep_classnames: true, // 不改变class名称
|
||||
|
||||
@ -82,9 +82,14 @@ const AddColorCard = () => {
|
||||
}
|
||||
// 添加色卡
|
||||
const handleAddColorCard = () => {
|
||||
Taro.setStorageSync('colorCardCache', JSON.stringify(order))
|
||||
|
||||
Taro.setStorage({
|
||||
key: 'colorCardCache',
|
||||
data: JSON.stringify(order),
|
||||
success: () => {
|
||||
goLink('/pages/getColorCard/colorCardList/index', { isGoBack: true })
|
||||
},
|
||||
})
|
||||
// Taro.setStorageSync('colorCardCache', JSON.stringify(order))
|
||||
}
|
||||
|
||||
const { fetchData } = SubmitColorCardOrder()
|
||||
@ -276,13 +281,13 @@ const AddColorCard = () => {
|
||||
}
|
||||
setAddressInfo(val => ({
|
||||
...val,
|
||||
province_name: defaultAddress.province_name || '',
|
||||
address_id: defaultAddress.id || '',
|
||||
city_name: defaultAddress.city_name || '',
|
||||
address_detail: defaultAddress.address_detail || '',
|
||||
district_name: defaultAddress.district_name || '',
|
||||
target_user_name: defaultAddress.name || '',
|
||||
purchaser_phone: defaultAddress.phone || '',
|
||||
province_name: defaultAddress?.province_name || '',
|
||||
address_id: defaultAddress?.id || '',
|
||||
city_name: defaultAddress?.city_name || '',
|
||||
address_detail: defaultAddress?.address_detail || '',
|
||||
district_name: defaultAddress?.district_name || '',
|
||||
target_user_name: defaultAddress?.name || '',
|
||||
purchaser_phone: defaultAddress?.phone || '',
|
||||
}))
|
||||
currPage.data.addressObj = defaultAddress
|
||||
}
|
||||
|
||||
@ -83,13 +83,31 @@ const ColorCardList = () => {
|
||||
|
||||
const selectedList = useRef<number[]>([])
|
||||
|
||||
const isAdd = useRef<number[]>([])
|
||||
|
||||
useDidShow(() => {
|
||||
const cache = Taro.getStorageSync('colorCardCache')
|
||||
if (cache) {
|
||||
Taro.getStorage({
|
||||
key: 'colorCardCache',
|
||||
success: (res) => {
|
||||
console.log('cache', res.data)
|
||||
if (res.data) {
|
||||
const temp = JSON.parse(res.data).map(item => item.id)
|
||||
// 已选的列入 selectedList
|
||||
selectedList.current = JSON.parse(cache).map(item => item.id)
|
||||
selectedList.current = temp
|
||||
isAdd.current = temp
|
||||
setSearchField(val => ({ ...val, color_card_ids: selectedList.current }))
|
||||
}
|
||||
},
|
||||
fail: () => {
|
||||
console.log('colorCardCache fail')
|
||||
},
|
||||
})
|
||||
// const cache = Taro.getStorageSync('colorCardCache')
|
||||
// if (cache) {
|
||||
// // 已选的列入 selectedList
|
||||
// selectedList.current = JSON.parse(cache).map(item => item.id)
|
||||
// setSearchField(val => ({ ...val, color_card_ids: selectedList.current }))
|
||||
// }
|
||||
})
|
||||
|
||||
// 上拉加载数据
|
||||
@ -168,9 +186,9 @@ const ColorCardList = () => {
|
||||
})
|
||||
|
||||
const isDisabled = (currentId: number) => {
|
||||
console.log('selectedList', selectedList.current)
|
||||
if (selectedList.current.includes(currentId)) {
|
||||
return false
|
||||
console.log('selectedList, isAdd', selectedList.current, isAdd.current)
|
||||
if (isAdd.current.includes(currentId)) {
|
||||
return true
|
||||
}
|
||||
return selectedList.current.length >= limit
|
||||
}
|
||||
@ -216,7 +234,7 @@ const ColorCardList = () => {
|
||||
{/* multipleSelection.current.some(mul => mul.id === item.id) 确保加载新数据时保持选中状态 */}
|
||||
<MCheckbox
|
||||
disabled={item.is_add || isDisabled(item.id)}
|
||||
status={item.is_add || item.status || multipleSelection.current.some(mul => mul.id === item.id)}
|
||||
status={isAdd.current.includes(item.id) || item.status || multipleSelection.current.some(mul => mul.id === item.id)}
|
||||
onSelect={() => onSelect(item)}
|
||||
onClose={() => onUnSelect(item)}
|
||||
/>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user