Segment.tsx 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import { View, Text } from '@tarojs/components'
  2. import './Segment.scss'
  3. import { useState } from 'react'
  4. export default function Component(props: {
  5. index?: number,
  6. titles: Array<string>,
  7. changed: Function
  8. }) {
  9. const [current, setCurrent] = useState(props.index ? props.index : 0)
  10. function selItem(index) {
  11. setCurrent(index);
  12. props.changed(index);
  13. }
  14. return <View className='segment'>
  15. <View className={current == 0 ? 'segment_item segment_item_sel' : 'segment_item'} onClick={(e) => {
  16. if (process.env.TARO_ENV == 'weapp') {
  17. e.stopPropagation()
  18. }; selItem(0)
  19. }}>
  20. <Text className={current == 0 ? 'segment_text_sel' : 'segment_text'}>{props.titles[0]}</Text>
  21. </View>
  22. <View style={{ width: 16 }} />
  23. <View className={current == 1 ? 'segment_item segment_right segment_item_sel' : 'segment_item segment_right'} onClick={(e) => {
  24. if (process.env.TARO_ENV == 'weapp') {
  25. e.stopPropagation()
  26. }; selItem(1)
  27. }}>
  28. <Text className={current == 1 ? 'segment_text_sel' : 'segment_text'}>{props.titles[1]}</Text>
  29. </View>
  30. </View>
  31. }