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

做外贸网站 怎么收钱池州哪里做网站

做外贸网站 怎么收钱,池州哪里做网站,建站行业分析,网站安全等级评审在哪里做概要 在实际开发中,我们常常碰到,一个页面根据条件不同,其展示的表单项需要动态改变位置;但是又不想写重复代码;可以试一下以下方法; 效果 使用的技术 HtmlReact,useMemoES6的扩展运算 代码 import Re…

概要

在实际开发中,我们常常碰到,一个页面根据条件不同,其展示的表单项需要动态改变位置;但是又不想写重复代码;可以试一下以下方法;

效果

在这里插入图片描述

使用的技术

  • Html
  • React,useMemo
  • ES6的扩展运算

代码

import React, { Fragment, useMemo } from 'react'export default function DefaultPage() {const testComponent = () => {return <div key={"nationality"}>国籍:<select><option value="1">中国</option><option value="2">美国</option><option value="3">韩国</option></select></div>}const fields = useMemo(() => {return {data: [{id: 1,name: 'name',label: "姓名",type: 'text'},{id: 2,name: 'age',label: "年龄",type: 'text'},{id: 3,name: 'address',label: "地址",type: 'text'}],other: [{id: 4,name: 'email',label: "邮箱",otherComponent: <div>邮箱:<input type='email' /></div>},{id: 6,name: 'phone',label: "电话",otherComponent: <div>电话:<input type='phone' /></div>},],other2: [{id: 7,name: 'nationality',label: "国籍",otherComponent: testComponent()},]}}, [])const defaultFields = [...fields.data, ...fields.other, ...fields.other2]const appointFields = ["age", "nationality", "name"]const defaultSort = defaultFields.sort((a, b) => a.id - b.id)const appointSortList =()=>{const list = []appointFields.forEach((item) => {const newlist = defaultFields.filter((item2) => item2.name === item)list.push(...newlist)})return  list}const appointSort =  appointSortList()const totalRender = (list) => {return <div>{list?.map((item) => {if (item.otherComponent) {return item.otherComponent} else {return renderForm(item)}})}</div>}const renderForm = (item) => {return <div key={item.id}>{item.label}:<input type={item.type} name={item.name} key={item.id} /></div>}return (<Fragment>默认排序:{totalRender(defaultSort)}<br/>指定排序:---------------{totalRender(appointSort)}</Fragment>)
}

< Fragment >是代替<></>标签,无实际意义。指示提醒这是一大块代码块; useMemo是react中用于缓存计算结果的方法,可以根据依赖,动态刷新缓存值

⚠️testComponent方法要写在useMemo方法前,不然会报错
在这里插入图片描述

http://www.dtcms.com/a/597559.html

相关文章:

  • 介绍一下 机器人坐标转换的 RT 矩阵
  • 网站备案换公司吗盐山县网站建设
  • 为智能制造护航:SASE如何重塑制造业网络安全与连接
  • 品牌授权网站什么网站可以做软件有哪些东西
  • h5网站系统企业网站制作排名
  • ZeroNews 场景案例 | 结合小皮面板实现公网web服务发布
  • 本地的赣州网站建设电商网站支付接口
  • C# 记录类型(record)全面解析:从概念到最佳实践
  • 广西响应式网站制作怎么修改自己网站内容
  • 万网网站建设教程免费做网站的网站
  • Meta Omnilingual ASR:一个支持超1600种语言的语音识别系统解析
  • 9、prometheus-PromQL-3-偏移量修改器
  • 【题解】洛谷 P2471 [SCOI2007] 降雨量 [线段树 + 逻辑]
  • [8]. SpringAI Alibaba Tool Calling
  • 怎样建一个收费网站wordpress摘要过滤
  • 现在给别人做网站ui设计的软件
  • 【架构方法论】领域模型:如何通过领域模型,提高系统的可扩展性?
  • 基于Spring Security +JWT+Redis实现登录认证的流程
  • 深圳做网站最好的公司什么是企业形象设计
  • 【C++基础与提高】第六章:函数——代码复用的艺术
  • 【学习记录】ros2中处理livox_ros_driver1格式的msg
  • 仙游县住房和城乡建设局网站wordpress编辑角色无法上传图片
  • 邮箱类网站模板智联招聘官方网
  • 台湾旺久PL27A1芯片参数|USB3.0对拷线方案芯片|PL27A1对拷线芯片规格书
  • 开源企业建站系统哪个好广州网站建设q479185700棒
  • 网站开发制作流程中国招商网
  • 复杂网络入门到精通5:网络动力学
  • 【论文阅读】PhotoBot: Reference-Guided Interactive Photography via Natural Language
  • Alpha稳定分布概率密度函数的MATLAB实现
  • 国内做网站好的公司淄博做网站小程序的公司