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

560
Views
¿Cómo tener un superíndice en el encabezado de la columna de esta tabla BootstrapVue?

Tengo una tabla bootstrapvue que se parece a esto;

ingrese la descripción de la imagen aquí

Aquí está el código;

 <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>

Quiero cambiar el encabezado de la tercera columna Person age para que tenga un superíndice de modo que se convierta en la Person age 1

Desafortunadamente, esto no es tan fácil como usar HTML dentro de la etiqueta para el encabezado de la tercera columna.

Estoy usando vue v2.6 y BootstrapVue.

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

La solución más fácil y obvia para su caso específico: utilice el carácter Unicode U+00B9, SUPERSCRIPT ONE: ¹. En muchos casos, esto parece comparable al equivalente HTML 1 y, a menudo, parecerá más preciso cuando se copie a través del portapapeles. Unicode ofrece todos los dígitos y varios símbolos matemáticos útiles , al menos tantos como necesite para las notas al pie y al final.

Aparte de eso, Bootstrap Vue le permite anular celdas particulares con HTML a través de espacios con alcance específicos de la tabla , que son una aplicación del concepto general de espacios con alcance de Vue (también disponible en Vue 3 ). Como en la documentación de Vue, estoy usando la abreviatura #head(age) en lugar del atributo completo equivalente v-slot como en v-slot:head(age) .

 <b-table :items="items" :fields="fields"> <template #head(age)> Person age<sup>1</sup> </template> </b-table>

Para evitar la duplicación de "Edad de la persona" tanto en la definición de campo como en el espacio personalizado, o para hacer un mejor uso de los recursos generales de head() y foot() para aplicar a todas las celdas de encabezado y pie de página, puede especificar un identificador que tome el contexto de la ranura, que se define para contener tanto el field como la label . Aquí he usado context , pero puedes nombrarlo como quieras; también puede usar la desestructuración , como en la respuesta de tao .

 <b-table :items="items" :fields="fields"> <template #head(age)="context"> {{ context.label }}<sup>1</sup> </template> </b-table>

La documentación de los fields señala que "Cualquier propiedad adicional agregada a los objetos de definición de campo se mantendrá intacta", así que imagino que si este caso es común para usted, incluso podría agregar una propiedad de objeto de field personalizado (por ejemplo, note o superscript ) que luego lo renderizas como {{ context.label }}<sup v-if="context.field.note">{{ context.field.note }}</sup> .

about 4 years ago · Juan Pablo Isaza Report

0

Puede personalizar el marcado (html) de un encabezado de tabla usando la ranura #head({key}) provista:

 <b-table> <template #head(age)="{ label }"> {{ label }} <sup>1</sup> </template> </b-table>

Obviamente, puede colocar cualquier cosa allí, incluida una búsqueda de filtro en esa columna, etc. Todo es dinámico, conectado a su componente.

Algunos ejemplos aquí: Representación personalizada de encabezado y pie de página a través de espacios delimitados .

about 4 years ago · Juan Pablo Isaza Report

0

Me gustaría responder mi propia pregunta, gracias a la respuesta de @tao y el enlace que proporcionó. Es una ligera modificación a su respuesta.

https://bootstrap-vue.org/docs/components/table#header-and-footer-custom-rendering-via-scoped-slots

 <b-table> <template #head(age)="data"> {{ data.label }} <sup>1</sup> </template> </b-table>
about 4 years ago · Juan Pablo Isaza 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!