javascript - Typescript中对象的样式输出反应
问题描述
我有一个如下所示的对象输出:
name: "James Charles"
address: "<font face="Arial" size="2">10109 New York. Ste. C, New York NY</font>"
phone: "784-247-7926"
email: "jamescharles@yahoo.com"
我在我的render()
:
<ul>
{(Object as any).entries(this.state.DocList).map((object, i) => <li>{object}</li>)}
</ul>
但是,输出显示如下:
nameJames Charles
address<font face="Arial" size="2">10109 New York. Ste. C, New York NY</font>
phone784-247-7926
emailjamescharles@yahoo.com
我正在尝试对输出进行样式化,例如在键和值之间添加一个空格、一个分号,也许是一个跨度类,这样我就可以加粗键字段。
如何更好地控制输出?从地址字段中删除 html 以使其不在地址中显示的最佳方法是什么?
所以我的输出看起来类似于:
- 姓名:詹姆斯·查尔斯
- 地址: 10109 纽约。圣。C、纽约 NY
- 电话: 784-247-7926
- 电子邮件: jamescharles@yahoo.com
解决方案
首先要做的事情:隔离您需要正则表达式的地址,尝试:((?<=>)[a-zA-Z ,.0-9]*(?=<)
如果这在您的浏览器或环境中不起作用,请尝试在乞求时省略积极的lookbehind (?<=>)
)
下一步:当使用Object.entries
返回值时将采用格式[key, value]
所以而不是这样说:
<ul>
{(Object as any).entries(this.state.DocList).map((object, i) => <li>{object}</li>)}
</ul>
尝试这个:
<ul>
{(Object as any).entries(this.state.DocList).map(([key, value], i) =>
<li>
<span>{key}: </span><span>{value}</span>
</li>)}
</ul>
这里的不同之处在于,在map
回调中,您key, and value
从数组中解构参数 ( ) —— 这是有益的,因此您可以独立使用它们。
推荐阅读
- angular - codeigniter中的一些问题
- asp.net - IIS 10上的Asp.net webform Intranet站点,不断询问用户和密码
- css - SVG 标签不适用于 CSS 的背景图片
- reactjs - 如何在 React-Bootstrap/MDBReact 中使用 % 设置行/列的高度?
- python - 如果没有找到任何元素,哪种方法可以有效地输出 np.argmax(array > value) 中的最后一个值而不是 0?
- r - 使用新创建的列中的值确定 x 列是否具有正/负/不同值
- android - chrome 更新到 76+ 后 Android webview 无法绘制画布
- javascript - 如何使用 js 使无限滚动到顶部?
- java - Intellij 中的新 Spring Boot 项目构建失败
- java - 如何使用java在远程机器上拉取docker镜像?