目的:タスク記述がコンテナの2行を超えていない場合にブラウザが応答してオーバーフローテキスト省略記号を表示します。ここでline clamp in clamp.jsを使用して、IE11でオブジェクトエラーが発生する
Click here for a screenshot of desired outcome.
私は、以下のコンポーネントを反応させるのである、それはそれはWebKitのであるから、我々はインポートするclamp
は(上のスクリーンショットを参照)。これは完全にChromeで働いているhttps://github.com/josephschmitt/Clamp.js
import React from 'react'
import clamp from 'client/util/clamp'
import { findDOMNode } from 'react-dom'
const TextDescription = ({ name, description, dueDate }) => {
return (
<div>
<div className='desc-text' ref={(clampee) => {clampee && clamp(findDOMNode(clampee), { clamp: 2 })}}>
<strong>{name} Task: </strong> {description}.
</div>
<div>
Due: {dueDate}
</div>
</div>
)
}
のローカルコピーでありますブラウザであり、関数の問題のあるコードのこの領域にclamp.js
から入ることもできますが、IE11では上のリンクのclamp.jsからこの行#122に関するエラーが発生しています。
エラー:
[object Error] {description: "Unable to get property 'children' of undefined or null reference", name: "TypeError", number: "-2146823281"}
私は既にこのスレッドhttps://github.com/josephschmitt/Clamp.js/issues/24
を見て、明示的にクランプパラメータを指定して、そのようにCSSを設定することで彼らの提案を試してみました:
.desc-text
display: block;
line-height: 18px;
margin-top: -20px;
我々はまた、ラインを変更してみましたclamp.jsの#117(上記リンク先)にelem.lastChild
が含まれるようになりました。現在は
結果として、それは次回に入るようならば、わずかに異なるエラーが表示されます。誰でもIEで動作するようにラインクランプを取得する方法を知っている
[object Error] {description: "Unable to get property 'parentNode' of undefined or null reference", name: "TypeError", number: "-2146823281"}
?