Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

176
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda