FoodTimeline.tsx 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { View } from '@tarojs/components'
  2. import './FoodTimeline.scss'
  3. import FoodTimelineItem from './FoodTimelineItem'
  4. import { useEffect, useState } from 'react'
  5. import { delFoodJournal } from '@/services/foodJournal'
  6. import Taro from '@tarojs/taro'
  7. export default function Component(props: { array: any }) {
  8. const [list, setList] = useState(props.array)
  9. useEffect(() => {
  10. setList(props.array)
  11. }, [props.array.length])
  12. function del(index) {
  13. delFoodJournal(list[index].id).then(res => {
  14. var temps = list.splice(index, 1)
  15. setList(temps)
  16. }).catch(e => {
  17. })
  18. }
  19. function preview(index){
  20. var urls:any = []
  21. list.map(item=>{
  22. urls.push(item.cover)
  23. })
  24. Taro.previewImage({
  25. current: list[index].cover,
  26. urls: urls
  27. })
  28. }
  29. return <View style={{ flexDirection: 'column', display: 'flex' }}>
  30. {
  31. list.map((item, index) => {
  32. return <FoodTimelineItem data={item} key={index} delete={() => del(index)} preview={()=>preview(index)}/>
  33. })
  34. }
  35. </View>
  36. }