当前位置: 首页 > news >正文

上海高端网页设计深圳网站seo外包公司哪家好

上海高端网页设计,深圳网站seo外包公司哪家好,上海网址登录,软件公司网站模板下载省市区三级联动选择是个很频繁的需求,但是查看了市面上很多插件不是太老不维护就是不满足需求,就试着实现一个 这个功能无任何依赖插件 功能略简单,但能实现需求 核心代码也尽力控制在了60行左右 pca-code.json树型数据来源 Administrative-d…

在这里插入图片描述
省市区三级联动选择是个很频繁的需求,但是查看了市面上很多插件不是太老不维护就是不满足需求,就试着实现一个
这个功能无任何依赖插件
功能略简单,但能实现需求
核心代码也尽力控制在了60行左右
pca-code.json树型数据来源 Administrative-divisions-of-China
下面只贴了省市区选择的功能,全部代码可参考github area分支

import { useState, useEffect } from 'react'
import { View, StyleSheet, FlatList, Text, TouchableOpacity } from 'react-native'
import pcaCode from "../assets/pca-code.json"export default () => {const [selected, setSelected] = useState([]) //选择过的省市区const [options, setOptions] = useState([pcaCode]) //每一级的数据const [level, setLevel] = useState(0) // 当前展示第几级useEffect(() => {console.log(selected)}, [selected])const renderItem = ({ item }) => (<TouchableOpacity style={styles.option} onPress={() => activeItem(item)}><Text style={[styles.option_text, isActive(item.code) && styles.option_text_active]}>{item.name}</Text>{isActive(item.code) && <View style={styles.option_icon} />}</TouchableOpacity >)const isActive = (code) => selected.some(item => item.code == code)const activeItem = (item) => {setSelected((prev) => {const newSelected = [...prev]newSelected[level] = { code: item.code, name: item.name }return newSelected.slice(0, level + 1)})if (level < 2) {const nextLevel = level + 1setLevel(nextLevel)setOptions((prev) => {const nextOptions = [...prev]nextOptions[nextLevel] = item.childrenreturn nextOptions})}}const PanelTab = () => {const tabs = selected.length < 3 ? selected.concat({ name: "请选择" }) : selectedreturn (<View style={styles.tab}>{tabs.map((item, index) => {return (<View style={styles.tab_item} key={index}><TouchableOpacity onPress={() => setLevel(index)}><Text style={item.code ? styles.tab_item_text : styles.tab_item_text_gray}>{item.name}</Text></TouchableOpacity>{level == index && <View style={styles.tab_item_line} />}</View>)})}</View>)}return (<><PanelTab /><FlatList style={styles.flat} data={options[level]} renderItem={renderItem} keyExtractor={item => item.code} /></>)
}const styles = StyleSheet.create({flat: {height: 500,},option: {height: 40,paddingRight: 15,flexDirection: "row",alignItems: "center",justifyContent: "space-between",},option_text: {fontSize: 14},option_text_active: {color: "#409eff",fontWeight: 'bold',},option_icon: {width: 6,height: 10,borderBottomWidth: 2,borderBottomColor: "#409eff",borderRightWidth: 2,borderRightColor: "#409eff",transform: "rotate(45deg)"},tab: {flexDirection: "row",marginBottom: 10,},tab_item: {position: "relative",marginRight: 15,},tab_item_text: {fontSize: 14,fontWeight: 'bold',paddingBottom: 10,},tab_item_text_gray: {fontSize: 14,color: "gray",paddingBottom: 10,},tab_item_line: {position: "absolute",bottom: 0,left: 0,width: "100%",height: 3,borderRadius: 5,backgroundColor: "#409eff"}
})
http://www.hyszgw.com/news/4446.html

相关文章:

  • 个体经营所得税核定征收2023武汉seo系统
  • 毕业设计做网站好做吗全网营销推广怎么做
  • 如何制作动漫网站模板在百度上做广告推广要多少钱
  • 确定B2B网站建设方案哪些网站是营销型网站
  • 自助建站系统破解版近10天的时事新闻
  • 网站模块化东莞关键词seo
  • 网易建站模板山东潍坊疫情最新消息
  • 合肥专业做网站的公司哪家好网络站点推广的方法
  • 营销型网站建设公司哪家好哪个好软文世界平台
  • 网站正在建设中 html如何在百度上发自己的广告?
  • 大团网站建设最快新闻资讯在哪看
  • 网站交互用什么做网络营销策划包括哪些内容
  • 南昌专业做网站公司关键词下载
  • 如何做网站稳定客户查询网站服务器
  • 网站怎样做收录会更好推广赚钱的app
  • 甘肃最近疫情情况怎么样seo 优化
  • 漳州做网站建设杭州seo按天计费
  • 丽水房产网站建设微信推广平台
  • 天津公司网站怎样制作今日小说排行榜
  • 手机网站广告西安做网站公司
  • 做网站 阿里云和百度云哪个好义乌最好的电商培训学校
  • 公司网站 域名 申请 空间百度网址大全手机版
  • 外贸开发网站公司漯河网络推广哪家好
  • 一级做受网站南宁今日头条最新消息
  • 泾阳县住房和城乡建设局网站郑州网站制作
  • 泰安建网站百度非企推广开户
  • 网站开发论坛最佳磁力吧ciliba搜索引擎
  • 口碑好的常州做网站seo的中文意思
  • 网站推广好做吗长沙企业关键词优化哪家好
  • 自己做的网站如何兼容ie11百度推广关键词多少合适