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

公司建设网站产生哪些费用三合一 网站 前端

公司建设网站产生哪些费用,三合一 网站 前端,政和县建设局网站公告,怎么做动漫网站需求 支持文本插入#xff0c;比如 xxx {product_name} xxx #xff0c;如果提供了product_name变量的值为feedback#xff0c;则可以渲染出 xxx feedback xxx。支持链接解析#xff0c;比如 [baidu](https://www.baidu.com/)#xff0c;可以直接渲染成超链接的形式。支持…需求 支持文本插入比如 xxx {product_name} xxx 如果提供了product_name变量的值为feedback则可以渲染出 xxx feedback xxx。支持链接解析比如 [baidu](https://www.baidu.com/)可以直接渲染成超链接的形式。支持插入reactnode元素比如 xxx {jump_node} xxx且jump_node是一个reactnode元素则可以将node节点插入到{}位置上。 实现 步骤 先解析链接 返回这样子的数据结构。超链接返回url-text的对象非超链接直接返回文本字符串 export interface LinkPart {text: string;url?: string;onClick?: string; }export type ParsedTextPart string | LinkPart;[{text: baidu,url: https://www.baidu.com/,},other content,other content, ];遍历解析后的超链接数组如果是对象则渲染超链接如果是字符串继续解析解析字符串判断需要解析的{}里面的文本是否是纯文本如果是纯文本则直接Text渲染如果是react元素则渲染该元素 TextTemplate.tsx: import React, { ReactNode } from react; import { routeCenter } from shopeepay-rn/route-center; import { usePageContainerContext } from shopeepay-rn/page-container; import { StyleProp, Text, TextStyle, View, ViewStyle } from react-native; import { parseLinkText } from ../../utils; import styles from ./styles;interface Props {template: string;// eg: {product_name:spp, click_node:Text/Text}replaceValueMap: Recordstring, string | number | ReactNode;textStyle?: StylePropTextStyle;containerStyle?: StylePropViewStyle; }/*** 支持解析字符串、解析react元素、解析超链接* param template 需要解析的字符串* param replaceValueMap 需要替换的key-valuevalue支持字符串和react元素* param textStyle 字体样式* param containerStyle 容器样式* returns react元素*/ export const TextTemplate ({template,replaceValueMap,textStyle,containerStyle, }: Props) {const { rootTag } usePageContainerContext();const parseText (text: string, index: number) {const result: React.ReactNode[] [];let lastIndex 0;text.replace(/{(\w)}/g, (match: string, key: string, offset: number) {const replaceValue replaceValueMap[key];if (offset lastIndex) {// 未被匹配到的result.push(Text key{index} style{textStyle}{text.substring(lastIndex, offset)}/Text);}if (React.isValidElement(replaceValue)) {// 需要替换的是reactnode元素result.push(React.cloneElement(replaceValue, { key: index }));} else if (typeof replaceValue string) {// 需要替换的是字符串result.push(Text key{index} style{textStyle}{replaceValue}/Text);}lastIndex offset match.length;return ;});if (lastIndex text.length) {result.push(Text key{index} style{textStyle}{text.substring(lastIndex)}/Text);}return result;};const parseTemplate (text: string) {// 解析链接const linkTexts parseLinkText(text);return linkTexts?.map((part, index) {return typeof part string ? (// 对于字符串需要解析 纯字符串 还是 reactnode元素parseText(part, index)) : (Textkey{index}style{styles.link}onPress{() routeCenter.navigateWeb(part.url || ,{navbar: {title: part.text || ,},},rootTag)}{part.text}/Text);});};return (View style{[styles.textView, containerStyle]}Text{parseTemplate(template)}/Text/View); }; parseLinkText.ts: export interface LinkPart {text: string;url?: string;onClick?: string; }export type ParsedTextPart string | LinkPart;const parseLinkText (text: string): ParsedTextPart[] {const regex /\[([^\]])\]\(([^)])\)/g;const parts: ParsedTextPart[] [];let lastIndex 0;text.replace(regex,(match: string, p1: string, p2: string, offset: number) {if (offset lastIndex) {parts.push(text.substring(lastIndex, offset));}parts.push({ text: p1, url: p2 });lastIndex offset match.length;return ;});if (lastIndex text.length) {parts.push(text.substring(lastIndex));}return parts; };// FIXME: 添加 unit test export { parseLinkText };使用 TextTemplatetemplate{you can test the TextTemplate component, parse {string_text}, parse [baidu](https://www.baidu.com/) link, parse {click_node} to show popup}replaceValueMap{{string_text:test string,click_node:Textother react node/Text}}textStyle{styles.titleText} /
http://www.hkea.cn/news/14514755/

相关文章:

  • 北京建站工作室最大的网站建设公司排名
  • asp.net 做网站好吗做网站方法
  • 网页设计与网站建设专业室内设计项目概况
  • 广西桂林网站建设北海建设工程信息网站
  • 网站建设相关法律企业名录app
  • 北京学会网站建设如何在手机上做网站
  • 南京重庆网站建设企业网络组建工作流程
  • 网站开发生命周期网络推广的方法有哪些
  • 建筑装饰网站模板手机网站分享js代码
  • com网站注册加盟网站制作公司
  • 公司要招个做网站的人深圳高端品牌网站设计
  • 阿里云个人网站备案做淘客买域名后 怎么做网站
  • 婚庆网站名字网页设计图片怎么占满相应位置
  • 福州企业网站维护价格低做网页赚钱
  • 阿里云企业建站教程如何开科技软件
  • 各大网站黑白几天WordPress仿w3c主题
  • 电子商务网站架构c 网页开发
  • 建设心理网站的背景公司宣传页的样板
  • 网站建设发信息美食网页设计论文
  • 如何建立网站建设规划网站模板 chinaz
  • 云平台网站建设方案书娄底地seo
  • 辽宁学网站建设专业学校做互联网产品和运营必备的网站
  • 网站订单系统模板海淀网站建设wzjs51
  • 北京北站手机制作购物网站
  • 手机自助网站建设网站代运营要多少费用
  • php 网站伪静态基于.NET的电子商务网站开发
  • 手机网站如何做名字做头诗的网站
  • 新网站建设怎么样做网站公司需要什么
  • 电商网站开发怎么样黑龙江 建设监理协会网站
  • 建网站上海省住房城乡建设厅门户网站