Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

248
Vistas
Agregue el signo de porcentaje a la columna de números en la tabla bootstrap-vue

Supongamos que tengo esta tabla creada usando bootstrap-vue .

La mesa se ve así; ingrese la descripción de la imagen aquí

El código de esta tabla es el siguiente;

 <template> <div> <b-table striped hover :items="items" :fields="fields"></b-table> </div> </template> <script> export default { data() { return { // Note 'isActive' is left out and will not appear in the rendered table fields: [ { key: 'last_name', sortable: true }, { key: 'first_name', sortable: false }, { key: 'age', label: 'Person age', sortable: true, // Variant applies to the whole column, including the header and footer variant: 'danger' } ], items: [ { isActive: true, age: 40, first_name: 'Dickerson', last_name: 'Macdonald' }, { isActive: false, age: 21, first_name: 'Larsen', last_name: 'Shaw' }, { isActive: false, age: 89, first_name: 'Geneva', last_name: 'Wilson' }, { isActive: true, age: 38, first_name: 'Jami', last_name: 'Carney' } ] } } } </script>

Me gustaría agregar un signo de porcentaje como sufijo a los números en la columna Age , pero la columna se puede ordenar de acuerdo con el valor del número. ¿Cómo se puede modificar el código para hacer esto?

El ejemplo de código se extrae del siguiente enlace; https://bootstrap-vue.org/docs/components/table

estoy usando vue.js v2.6

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Si puede modificar directamente sus datos, simplemente puede usar Array.prototype.map :

 export default { data() { return { items: [ { age: 40, first_name: 'Dickerson', last_name: 'Macdonald' }, { age: 21, first_name: 'Larsen', last_name: 'Shaw' }, { age: 89, first_name: 'Geneva', last_name: 'Wilson' }, { age: 38, first_name: 'Jami', last_name: 'Carney' } ].map(item => ( item.age = item.age + "%", item )), } } }
about 4 years ago · Juan Pablo Isaza Denunciar

0

La implementación sencilla es usar la función de devolución de llamada formateada proporcionada en BootstrapVue para agregar el signo de porcentaje. A continuación, establezca la propiedad de campo sortByFormatted en falso para que la clasificación se realice de acuerdo con los valores numéricos originales sin formato.

Enlaces de documentación relevantes; https://bootstrap-vue.org/docs/components/table#formatter-callback https://bootstrap-vue.org/docs/components/table#field-definition-reference

Aquí está el cambio de código necesario;

 <template> <div> <b-table striped hover :items="items" :fields="fields"></b-table> </div> </template> <script> export default { data() { return { // Note 'isActive' is left out and will not appear in the rendered table fields: [ { key: 'last_name', sortable: true }, { key: 'first_name', sortable: false }, { key: 'age', label: 'Person age', sortable: true, // Variant applies to the whole column, including the header and footer variant: 'danger', //Code modification needed. Add the 2 properties below; "sortByFormatted": false, formatter: value => { return (value + '%') }, } ], items: [ { isActive: true, age: 40, first_name: 'Dickerson', last_name: 'Macdonald' }, { isActive: false, age: 21, first_name: 'Larsen', last_name: 'Shaw' }, { isActive: false, age: 89, first_name: 'Geneva', last_name: 'Wilson' }, { isActive: true, age: 38, first_name: 'Jami', last_name: 'Carney' } ] } } } </script>
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda