search.jsx 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import CustomNav from '@/components/CustomNav'
  2. import Taro from '@tarojs/taro'
  3. import withLayout from '@/layouts'
  4. import { getIndexSearch } from '@/services/home'
  5. import { useEffect, useState } from 'react'
  6. import SearchBar from '@/components/SearchBar'
  7. import './search.less'
  8. export default withLayout((props) => {
  9. const { router, person } = props
  10. const [hotList, setHotList] = useState([])
  11. const hotSearch = (val) => {
  12. Taro.navigateTo({ url: `/pages/searchResult/searchResult?q=${val}` });
  13. }
  14. const onSearch = (e) => {
  15. if (e.detail.value !== '') {
  16. Taro.navigateTo({ url: `/pages/searchResult/searchResult?q=${e.detail.value}` });
  17. }
  18. }
  19. useEffect(() => {
  20. getIndexSearch().then((res) => {
  21. setHotList(res || [])
  22. })
  23. }, [])
  24. return (
  25. <view className='page-index'>
  26. <view className='index-navbar'>
  27. <CustomNav title='搜索' />
  28. </view>
  29. <SearchBar placeholder='请输入景区/城市搜索' onBlur={onSearch} />
  30. <view className='content'>
  31. <view className='hotSearch'>热门搜索</view>
  32. <view className='hotSearchtip'>
  33. {
  34. (hotList||[]).map((item) => <view onClick={()=>hotSearch(item.word)}>{item.word}</view>)
  35. }
  36. </view>
  37. </view>
  38. </view>
  39. )
  40. })