Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

175
Views
Mostrar el valor mostrado de una cadena truncada

Lo que quiero hacer

Quiero poder calcular cuánto de una cadena se muestra antes de que se trunque.

por que quiero hacerlo

Tengo una lista de artículos. Puede seleccionar cualquier cantidad de elementos de esta lista. Tengo un elemento de panel que muestra una cadena separada por comas de los nombres de los elementos seleccionados. Si la cadena es demasiado larga, se debe truncar y mostrar un valor +{number} de cualquier elemento seleccionado adicional oculto por el truncado.

Ejemplo básico

https://stackblitz.com/edit/angular-ivy-cbyemy

El stackblitz anterior muestra un ejemplo básico del caso de uso.

Título del panel actual:

un artículo, otro artículo, algo... +6

Resultado deseado:

un artículo, otro artículo, algo... +3

lo que he probado

  • Usando element.innerHTML y element.innerText para leer la cadena mostrada. ambos muestran la cadena completa, no la cadena truncada mostrada.
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Tomé prestada una respuesta de aquí y la modifiqué un poco según el requisito.

Su stackblitz bifurcado, demostración de trabajo actualizada aquí .

Puede obtener el recuento de caracteres visibles de esta función:

 countVisibleCharacters(element): number { var text = element.firstChild.nodeValue; var count = 0; element.removeChild(element.firstChild); for (var i = 0; i < text.length; i++) { var newNode = document.createElement('span'); newNode.appendChild(document.createTextNode(text.charAt(i))); element.appendChild(newNode); if (newNode.offsetLeft < element.offsetWidth) { count++; } } return count; }

Entonces puedes obtener el sufijo de esta manera:

 getTitleSuffix(): void { let element = document.getElementById('title'); let count = this.countVisibleCharacters(element); let substr = element.textContent; substr = substr.substring(count - 1); this.titleSuffix = substr.split(',').length;

}

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!