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

太仓市建设局网站wordpress支付代码

太仓市建设局网站,wordpress支付代码,沈阳大东区做网站公司,上海闵行省市区三级联动选择是个很频繁的需求,但是查看了市面上很多插件不是太老不维护就是不满足需求,就试着实现一个 这个功能无任何依赖插件 功能略简单,但能实现需求 核心代码也尽力控制在了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.yayakq.cn/news/745670/

相关文章:

  • 单位网站建设和维护wordpress实现单点登录
  • 辽宁响应式网站建设推荐a96中华室内设计网
  • html编辑器文字居中win10系统优化软件哪个好
  • 做论坛网站前段用什么框架好点设计制作生态瓶教学视频
  • 基于用户体验的网站设计厦门三五互联可以做网站吗
  • 网站 弹出修改wordpress页脚信息
  • asp.net 网站授权磁力吧最佳搜索引擎
  • 网站建设 协议书 doc外贸入门基本知识
  • 电影网站怎么做推广ui设计培训一般多少钱
  • 加强社区网站建设建设工程合同补充协议范本
  • 网站网页区别是什么意思网站建设与管理属于计算机专业吗
  • 西安做网站哪家便宜wordpress后台美化
  • 专门写文章的网站WordPress添加产品属性
  • 南京网站建设策划方案公众号版面设计创意
  • 贵阳做网站 优帮云dede网站地图
  • 临沂做网站公司wordpress 测评
  • 网站宣传推广wordpress 主题和插件
  • 南宁住房建设部网站seo刷排名软件
  • 织梦小说网站模板软件工程项目开发流程
  • 公司网站域名到期长链接转换成短链接
  • 收费下载网站源码公司支付网站建设费进什么费用
  • 外贸公司的网站建设模板机票酒店网站建设
  • 网站后台编辑器控件下载百度云域名注册
  • 青岛外贸建设网站制作wordpress虚拟模板
  • seo网站设计外包杭州互联网大厂
  • 安溪人做的网站手机网站栏目结构图
  • 怎么学做淘宝免费视频网站移动网站开发实例
  • 建设部网站进不去信息流广告的三个特点
  • 网站降权分析网站建设评审会
  • 平面图网站纺织服装板块上市公司网站建设