我试图根据现有数组设置textarea的值,但我希望数组项在textarea上用新行分隔。我希望textarea将这些项目放在无序列表中,以便我可以创建一个按钮,将textarea的内容复制到剪贴板中。
我收到此错误:期待Unicode转义序列\ uXXXX我认为是因为\ n。我真的不知道还能做什么。在此先感谢您的帮助。
class NamesList extends Component{
constructor(props){
super(props);
}
render(){
const RenderedNames = this.props.formattedNames.map((name, index) => {
return <li key={index} >{name}</li>
});
const formattedNamesBreak = this.props.formattedNames.map((name, index) => {
return name \n
});
return(
<div>
<ul className='media-list list-group'>
{RenderedNames}
</ul>
<textarea className='hidden' readOnly='true' value={formattedNamesBreak}></textarea>
</div>
);
}
};
export default NamesList;
&#13;
答案 0 :(得分:1)
由于您的数组是一个字符串数组(名称),因此您不需要map()
因为这将创建一个结果数组,如果您尝试输出一个数组作为textarea值,它将被转换为带逗号的字符串以分隔值。
解决方法是在阵列上调用Array.prototype.join()
并使用新行作为&#34;胶水&#34;:
var formattedNamesBreak = this.props.formattedNames.join('\n');