Tengo la siguiente tabla
<b-table
ref='table'
:fields='fields'
:items='provider'
:busy.sync='isBusy'
>
<template v-slot:bottom-row>
<!-- TODO: Is it possible to not hardcode it? -->
<b-td colspan='7' class='text-center'>
<b-spinner></b-spinner>
</b-td>
</template>
</b-table>
¿Es posible conseguir de alguna manera el número de columnas y usarlo en el colspan
lugar de hardcoded 7
? Supongo que puedo usar algo de lógica enrevesada con un apoyo personalizado para cubrir esto, pero es probable que haya un mejor enfoque. También puedo usar, por ejemplo 999999
, que funciona sorprendentemente.
Lo he intentado colspan='fields.length'
, pero eso no iba a funcionar.
Estabas tan cerca con su intento
Con el fin de vue de entender que desea pasar una variable como valor del atributo, es necesario agregar dos puntos delante de él, así:
<b-td :colspan='fields.length' class='text-center'>
Si lo haces de esta manera:
<b-td colspan='fields.length' class='text-center'>
colspan sería analizar la fields.length
forma de cadena "fields.length", no el valor calculado JavaScript para la variable de fields.length 7
por ejemplo.