Javascript 截断reactJS中的文本

Javascript 截断reactJS中的文本,javascript,reactjs,Javascript,Reactjs,嗨,我正在使用这个reactJS组件,我想知道reactJS是否有过滤字符串内容的功能: var Album = React.createClass({ rawMarkup: function() { var rawMarkup = marked(this.props.children.toString(), {sanitize: true}); return { __html: rawMarkup }; }, render: function() { return (

嗨,我正在使用这个reactJS组件,我想知道reactJS是否有过滤字符串内容的功能:

var Album = React.createClass({
  rawMarkup: function() {
  var rawMarkup = marked(this.props.children.toString(), {sanitize: true});
  return { __html: rawMarkup };
},

render: function() {

  return (
    <div className='col s12 m6 l4'>
       <div className='card'>
         <div className='card-image'>
            <img  style={{minHeight:'220px', maxHeight:'220px' }} src={this.props.image} />
         </div>
         <div className='card-content' style={{minHeight:'100px', maxHeight:'100px'}}>
          <span style={{overflow: 'hidden', textOverflow: 'ellipsis'}}>             
             {this.props.name}
          </span>
         </div>
         <div className='card-action'>
         </div>
        </div>          
      </div>
    );
  }
});
var Album=React.createClass({
rawMarkup:function(){
var rawMarkup=marked(this.props.children.toString(),{sanitize:true});
返回{uuuhtml:rawMarkup};
},
render:function(){
返回(
{this.props.name}
);
}
});
如何截断span标记内的文本


关于

这里有一个可能适合您的解决方案:

React.createClass({
  ...
  myFilter: function(data) {
    return data.sanitize()
  },
  render: function() {
    return (
      <div>{this.myFilter(this.props.myData)}</div>
    )
  }
})
React.createClass({
...
myFilter:函数(数据){
返回数据
},
render:function(){
返回(
{this.myFilter(this.props.myData)}
)
}
})

您可以使用
{}
将代码块注入jsx。不过,请感到厌倦,因为jsx对它在这些块中接受的内容非常挑剔

您可以将
属性传递给函数并返回截断版本:

...

<span style={{overflow: 'hidden', textOverflow: 'ellipsis'}}>             
    {this.truncate(this.props.name)}
</span>

...

truncate: function(str) {
    return str.length > 10 ? str.substring(0, 7) + "..." : str;
}
。。。
{this.truncate(this.props.name)}
...
截断:函数(str){
返回str.length>10?str.substring(0,7)+“…”:str;
}

您是否只想通过CSS实现这一点?(查看span的内联样式)React本身不提供截断字符串的方法。您可以调用此.props.name.substring(0,n)来返回字符串的一部分。您可以直接使用truncate方法。React是唯一的Javascript库,您可以直接使用该语言。您是否可以创建一个fiddle示例,因为我知道React不允许您在html元素之间添加空格,它会自动截断这些空格。我的
data.sanitize()
做什么?方法定义在哪里?@daniels我已经更新了答案,以实现一个示例truncate函数。谢谢