Przeglądaj źródła

fix Ellipsis break in firefox #1882 (#1921)

niko 7 lat temu
rodzic
commit
b75ca54a70
1 zmienionych plików z 6 dodań i 2 usunięć
  1. 6 2
      src/components/Ellipsis/index.js

+ 6 - 2
src/components/Ellipsis/index.js

@@ -137,11 +137,15 @@ export default class Ellipsis extends Component {
     if (sh <= th) {
       shadowNode.innerHTML = text.substring(0, mid + 1) + suffix;
       sh = shadowNode.offsetHeight;
-      if (sh > th) {
+      if (sh > th || mid === begin) {
         return mid;
       } else {
         begin = mid;
-        mid = Math.floor((end - begin) / 2) + begin;
+        if (end - begin === 1) {
+          mid = 1 + begin;
+        } else {
+          mid = Math.floor((end - begin) / 2) + begin;
+        }
         return this.bisection(th, mid, begin, end, text, shadowNode);
       }
     } else {