React中用map为textarea的defaultValue赋值为何每行前出现逗号?
解决React中textarea映射state数据出现每行逗号的问题
嘿,这个问题我碰到过!你遇到的每行开头的逗号,其实是因为map()方法返回的是一个数组,而当你直接把数组传给textarea的defaultValue时,JavaScript会自动把数组转换成字符串——数组元素之间默认用逗号分隔,所以就出现了这些多余的逗号😅。
修复方案很简单:用join('')拼接数组元素
只需要在map()后面加上.join(''),把数组里的所有字符串拼接成一个完整的文本,这样就不会有分隔逗号了:
<textarea defaultValue={ this.state.data.map(data => data.name + '\n').join('') } />
小补充:
你原来用的 是回车符,换成标准的换行符\n在textarea里也能正常生效,而且兼容性更好哦~
内容的提问来源于stack exchange,提问作者Laura delgado
相关产品推荐
相关产品推荐

