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

网站上动态图片怎么做珠海做网站推广公司

网站上动态图片怎么做,珠海做网站推广公司,wordpress 代码大全,网站建设专家价格目录 背景思考实现完整代码#xff1a;成功运行后的界面如下#xff1a; 知识点总结uesRef() 作对象处理useImperativeHandle() 父组件操作引入子组件的内部方法最后 背景 之前项目中使用了antd pro 中的 可编辑表格 (EditableProTable)#xff0c;在页面中表格要经过多层遍… 目录 背景思考实现完整代码成功运行后的界面如下 知识点总结uesRef() 作对象处理useImperativeHandle() 父组件操作引入子组件的内部方法最后 背景 之前项目中使用了antd pro 中的 可编辑表格 (EditableProTable)在页面中表格要经过多层遍历后组成的新页面所以我将之抽成了一个公用的组件另外在遍历的最外层需要通过一个按钮统一提交表格数据但是提交数据之前需要对每一个表格进行非空校验。 思考 遍历中引入组件这个没啥好说的根据以往的经验来说一般要获取某个 JSX 节点都是采用的 useRef() 这个Hook大多写法如下 const ref useRef(null);div ref{ref}.../div这里主要说的是怎么一次性获取多个子组件实例用到这个场景的也有可能也不大多我刚开始也在网上找了一大堆基本没有相关的答案这整的我 cv大法 自然也用不了可是项目又赶得急总的想办法解决吧最后我盯上了ChtGPT通过智能答案在这里获取到了一定的参考如下 既然已经有了灵感参考那就依样画葫芦呗开整。 下面是我经过项目实践后再次做的一个案例希望能够对有需要的朋友一些帮助可能写的不够优雅还请大家多多包涵。如有更好的方式请大家多多留言扶正多谢。 实现 完整代码 import { Button, message } from antd; import { useImperativeHandle, useRef } from react;interface paramsType {id: number,title: string, }interface validateFieldsObjType {[key: number]: boolean; }// 子组件 const ChildComponentPage:React.FC (props: any) {const { id, title, onRef } props;const divStyleObj {width: 100%,height: 100px,background: red,marginTop: 20px,fontSize: 20px,color: #fff}useImperativeHandle(onRef, () {return {func}})const func ():boolean {console.log(${title}(${id})被触发了)if (id 2) return false;else return true;}return (div style{divStyleObj}【子组件】》{title}--{id}/div) }// 父组件 const TestRef:React.FC () {const childRefs: any useRef({});// mock源数据const datasource:paramsType[] [{ id: 1, title: 组件-天天, },{ id: 2, title: 组件-小灰, },{ id: 3, title: 组件-阿奇, },{ id: 4, title: 组件-驽马, },{ id: 5, title: 组件-小栗, },]// 异步获取所有子组件校验状态const getChildRefReturnStateFn (childRefIdsArry:any) {const validateFieldsObj: validateFieldsObjType {};childRefIdsArry.forEach((id: number, index: number) {const childRef childRefs.current[id];const childReturnState childRef.func();console.log(子组件实例返回状态, id, childReturnState)validateFieldsObj[id] childReturnState;})return validateFieldsObj;}// 点击事件const clickThisFn async () {const childRefIdsArry:any[] Object.keys(childRefs.current);const validateFieldsObj: any await getChildRefReturnStateFn(childRefIdsArry);console.log(子组件检查结果, validateFieldsObj)const validateFieldsLen Object.values(validateFieldsObj).filter((type)!type);if (childRefIdsArry.length ! validateFieldsLen.length) console.log(校验不通过请再次检查数据。)else console.log(校验已通过)};return (div style{{ width: 100%, background: orange, padding: 20px }}{datasource.map(({ id, title }: paramsType, index: number) {return ChildComponentPage key{id} id{id} title{title} onRef{(_ref: React.RefObjectHTMLInputElement) childRefs.current[id] _ref} /})}/divButton typeprimary onClick{clickThisFn}检验全部子组件/Button/) };export default TestRef;成功运行后的界面如下 点击左侧按钮后通过控制台可以看到相关的运行信息。 知识点总结 uesRef() 作对象处理 useImperativeHandle() 父组件操作引入子组件的内部方法 最后 关于这个问题的解决方法就在上面的代码里面了如果对上面的Hook使用还不清楚的这里就不再赘述请自行网上查看。 如果对你有所帮助麻烦咚咚你的黄金手指请点赞搜藏。
http://www.zqtcl.cn/news/475291/

相关文章:

  • ps建设网站步骤佛山做外贸网站特色
  • 杭州做代发的网站有哪些计算机基础网站建设和网络安全
  • 做汽配外贸是在哪个网站做山东百度推广
  • 网站类型大全cms监控软件下载官网
  • 网站设计制作 建网站免费asp地方门户网站系统
  • 凡科网做的网站保存后就上传了吗东莞网站推广建设
  • 网站推广案例闲鱼上做网站
  • 网站 做购物车分类信息网站建设系统
  • 网站做弹窗坂田建设网站
  • 北仑网站推广保险网站建设
  • 文山城乡建设部网站首页个人网站怎么注册
  • 西安企业建站wordpress外部调用后台
  • 江苏手机网站建设公司域名查询ip解析
  • 网站上的用户注册怎么做的苏州网站建设制作服务商
  • 网站开发模版宁波网
  • 以鹦鹉做头像的网站wordpress post是什么
  • 公司怎么建立自己网站做网站需要编码吗
  • 网站域名根目录在哪里wordpress做跟随导航导航
  • 昆明网站建站推广it外包工作怎么样
  • 上海长宁网站建设公司WordPress 采集文章 图片
  • 紫色 网站网络设计的最后一个步骤是
  • 广东省建设安全卡查询网站网站开发需要的语言
  • 网站的建设需要考虑什么问题投放广告的网站
  • 雅虎提交网站入口常州哪家做网站好
  • 哪些网站是503错误代码太原搭建网站的公司
  • 网站建设公司需要有什么东西凡科建站seo
  • 荷泽网站建设买链接做网站 利润高吗
  • 网站嵌套代码网络营销与策划实训
  • 网上做环评立项的网站是哪个网站开发是前端吗
  • 公司网站可以自己建立吗前端网站开发教程