import {Image, ScrollView, View } from "@tarojs/components" import Popup from "@/components/popup" import classnames from "classnames"; import MCheckbox from "@/components/checkbox"; import LoadingCard from "@/components/loadingCard"; import InfiniteScroll from "@/components/infiniteScroll"; import styles from "./index.module.scss" import { useEffect, useState } from "react"; import Taro from "@tarojs/taro"; type param = { show?: true|false, onClose?: () => void } export default ({show = false, onClose}: param) => { const selectList = ['不限', '剪板', '散剪', '大货'] const [selectIndex, setSelectIndex] = useState(0) const selectProduct = (index:number) => { setSelectIndex(index) } const [list, setList] = useState([]) const [loading, setLoading] = useState(false) useEffect(() => { if(!show) return let lists:any[] = [] for(let i = 0; i < 20; i++) { lists = [...lists, { title:`${i}#薄荷绿`, subtitle: '0770# 21S单面平纹(食毛)', tag: '剪板', select: i%2?true: false }] } setList([...lists]) }, [show]) useEffect(() => { return () => { setList([]) } }, []) const [showPopup, setShowPopup] = useState(false) useEffect(() => { setShowPopup(show) }, [show]) const [selectStatus, setSelectStatus] = useState(false) const selectAll = () => { list.map(item => { item.select = !selectStatus }) setSelectStatus(!selectStatus) setList([...list]) } //checkbox选中回调 const selectCallBack = (item) => { item.select = true setList([...list]) } //checkbox关闭回调 const colseCallBack = (item) => { item.select = false setList([...list]) } //popup关闭 const closePopup = () => { onClose?.() setShowPopup(false) } const delSelect = () => { Taro.showModal({ content: '删除所选商品?', success: function (res) { if (res.confirm) { Taro.showToast({ title: '成功', icon: 'success', duration: 2000 }) } else if (res.cancel) { console.log('用户点击取消') } } }) } return ( closePopup()}> {!selectStatus?'全选':'反选'} 删除勾选项 {selectList.map((item, index) => { return selectProduct(index)} className={classnames(styles.search_item, (selectIndex==index)&&styles.search_item_select)}>{item} })} {loading&&} {!loading&&list.length > 0&& {console.log('触底了')}} paddingBottom={100}> {list.map((item, index) => { return selectCallBack(item)} onClose={() => colseCallBack(item)}/> {item.title} 0770# 21S单面平纹(食毛) 剪板 40.5/kg ×12m })} } {!loading&&list.length > 0&& 暂未选择商品 去选购 } 200 预估金额 去结算 ) }