私の段落が250文字に達した後に "read more"リンクを追加する必要があります.JavaScriptを使用している多くのソリューションが見つかりましたが、reactjsでできません。どのような形式のヘルプも素晴らしいでしょう! 感謝 例: テキストテキストテキストTEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXTテキスト...続きを読む反応中のdiv/paragraphタグの最大文字数
1
A
答えて
0
私が正しく理解していれば、あなたがオンラインで見ることができるものとの違いは、あなたがRead more
を表示したくないということですテキストが250文字未満の場合はボタンをクリックします。
それはあなたがすでに持っているものを共有することができれば素晴らしいことが、念のために、ここではプロトタイプであるでしょう:
class LongText extends Component {
state = { showAll: false }
showMore =() => this.setState({showAll: true});
showLess =() => this.setState({showAll: false});
render() {
const {content, limit} = this.props;
const {showAll} = this.state;
if(content.length<=limit) {
// there is nothing more to show
return <div>{content}<div>
}
if(showAll) {
// We show the extended text and a link to reduce it
return <div>
{content}
<a onClick={this.showLess}>Read less</a>
</div>
}
// In the final case, we show a text with ellipsis and a `Read more` button
const toShow = content.substring(0,limit)+"...";
return <div>
{toShow}
<span onClick={this.showMore}>Read more</a>
</div>
}
}
+1
これにこだわっていた!あなたの助けをたくさんありがとう – Rishika
+0
ようこそ! –
0
あなたはまだImplementing a Read More link in React.jsからの回答を使用してsubstr()
で還元テキストを読み込むことができますこのような方法:
var component = React.createClass({
getInitialState: function() {
return {
expanded: false,
myText: 'bla bla bla'
};
},
expandedText: function() {
this.setState({
expanded: true
});
},
getMoreTextDiv = function() {
if (this.state.expanded) {
return myText;
} else {
return myText.substr(0, 250);
}
}
render: function() {
var expandedDiv = this.getMoreTextDiv();
return (
<div>
<a onClick={ this.expandedText }>Read more</a>
{ expandedDiv }
</div>
);
}
});
0
は他より簡単でより表現力の例では、ES6を使用して、投稿:
// Outside component
const MAX_LENGTH = 250;
render() {
const { text } = this.props;
return (
<div>
{text.length > MAX_LENGTH ?
(
<div>
{`${text.substring(0, MAX_LENGTH)}...`}<a href="#">Read more</a>
</div>
) :
<p>{text}</p>
}
</div>
);
}
Here's a fiddleこれを実証しています。
関連する問題
- 1. 最初の文字を大文字のテンプレートの中に大文字にする
- 2. varchar(最大)の文字数
- 3. 剣道UIエディタの最大文字数と最小文字数
- 4. 最大文字数stringbuilderに対応可能
- 5. 文字列の最大一致数
- 6. cbindの最大文字列数は?
- 7. TextFieldの最大文字数制限
- 8. 電子メールアドレスの最大文字数
- 9. EditTextの最初の文字大文字
- 10. 大文字最初の文字
- 11. 反応中のリダイレクト
- 12. 数字を含む文字列の最大数
- 13. UUIDの最大文字長
- 14. 20文字の最大
- 15. 、中にクエリパラメータが反応活字体
- 16. 文章中の文字列の最初の文字を大文字にする方法は?
- 17. MySQLのUnicode文字を、最小文字数から最大文字数まで並べ替えますか?
- 18. 文字列の最後の文字を大文字にする
- 19. 大文字のhtmlタグを小文字に変換する
- 20. ルビーのサイドバイサイド文字の最大数を数えよう
- 21. 最大20文字の英数字出力を持つハッシュアルゴリズム
- 22. 文字列の最初の文字の大文字/小文字の決定
- 23. コンポーネントを追加するときの最大コールスタックの反応
- 24. 反応中の汎用コンポーネント
- 25. 文字列内の数字が最大と最小の間に収まる
- 26. 文章の最初の文字を大文字にするCSS
- 27. imagタグのonErrorでの反応
- 28. BIGINT最大255文字?
- 29. ユニコード文字列最大サイズ
- 30. C++の文字列の中で最長の文字列を数えます
[React.jsのRead Moreリンクの実装]の可能な複製(http://stackoverflow.com/questions/29996048/implementing-a-read-more-link-in-react-js) – TomG
いいえ重複する質問ではありません。 http://stackoverflow.com/questions/29996048/implementing-a-read-more-link-in-react-jsにはテキストの展開だけが含まれています。私は250文字の限界に達するテキストの投稿の拡大をしたい! – Rishika