在 React 中危险设置 Inner html 中添加图标
Add Icon in dangerously set Inner html in React
我正在尝试使用危险设置的内部 html 在字符串文本之间添加一个图标,而 div 标签正在工作,但箭头图标向右(来自 material ui ) 不起作用。还注意到当呈现实际 html 时它变成小写。
这是我的代码
其中一个 strPath 是
“世界->美洲->拉丁美洲和加勒比地区”
let keyArray = Object.keys(selectedRegionsLocal);
let listUI = [];
for (let i = 0; i < keyArray.length; i++) {
let strPath = selectedRegionsLocal[keyArray[i]].path;
const pieces = strPath.split("->");
let result = pieces.join(" <ArrowRightIcon></ArrowRightIcon> ")
let fresult = '<div>' + result + '</div>';
console.log('result ', fresult);
listUI.push(
<Grid dangerouslySetInnerHTML={{ __html: fresult }} />
)
}
return listUI;
这就是我在开发工具 -> 元素部分中得到的内容
实物图
怎样才能把上面的实际值变成这个
您可以简单地在每个项目上放置一个图标:
假设您的 keyArray
是这样的:
const keyArray = ["World", "Americas", "South", "America"];
现在,您可以使用map
功能为每个项目添加一个图标:
const result = data.map((item, i) => (
<div key={i}>
<ArrowRightIcon />
<span>{item}</span>
</div>
));
现在,result
可以使用了,父div
和flex
样式,最终结果将产生:
<div style={{ display: "flex" }}>{result}</div>
我正在尝试使用危险设置的内部 html 在字符串文本之间添加一个图标,而 div 标签正在工作,但箭头图标向右(来自 material ui ) 不起作用。还注意到当呈现实际 html 时它变成小写。
这是我的代码 其中一个 strPath 是 “世界->美洲->拉丁美洲和加勒比地区”
let keyArray = Object.keys(selectedRegionsLocal);
let listUI = [];
for (let i = 0; i < keyArray.length; i++) {
let strPath = selectedRegionsLocal[keyArray[i]].path;
const pieces = strPath.split("->");
let result = pieces.join(" <ArrowRightIcon></ArrowRightIcon> ")
let fresult = '<div>' + result + '</div>';
console.log('result ', fresult);
listUI.push(
<Grid dangerouslySetInnerHTML={{ __html: fresult }} />
)
}
return listUI;
这就是我在开发工具 -> 元素部分中得到的内容
实物图
怎样才能把上面的实际值变成这个
您可以简单地在每个项目上放置一个图标:
假设您的 keyArray
是这样的:
const keyArray = ["World", "Americas", "South", "America"];
现在,您可以使用map
功能为每个项目添加一个图标:
const result = data.map((item, i) => (
<div key={i}>
<ArrowRightIcon />
<span>{item}</span>
</div>
));
现在,result
可以使用了,父div
和flex
样式,最终结果将产生:
<div style={{ display: "flex" }}>{result}</div>