Когда я загружаю данные таблицы и устанавливаю некоторые столбцы с видимым: false в массиве столбцов, эти столбцы по-прежнему отображаются в пользовательском интерфейсе таблицы. Я ожидал, что столбцы с видимым: false будут скрыты автоматически.
Как я визуализирую данные
- Я получаю данные таблицы из серверной части, которая включает в себя массив столбцов.
- Каждый объект столбца может иметь свойствоvisible: false.
- Я передать столбцы и данные компонентам и из @jspreadsheet/vue.
- Пример:
- Я также пытался вручную скрыть столбцы после загрузки данных, вызывая методideColumn для каждого столбца с видимым: false.
Вот код, который я использовал: (Я использую собственное свойство columns_id для каждого столбца в моих данных.)
sortedTables.value.forEach(table => {
if (table.columns && table.columns.length) {
// Collect columns with visible: false
const hiddenColumns = table.columns.filter(col => !col.visible)
const setColumnData = setColumn(table.columns)
// Set all columns to visible first
setColumnData.forEach(col => {
col.visible = true
})
table.columns = setColumnData
// After render, hide columns again
nextTick(() => {
if (!hiddenColumns || !hiddenColumns.length) return
const sheetInstance = getSheetInstanceByTableId(table.table_id)
hiddenColumns.forEach(col => {
const colIdx = table.columns.findIndex(c => c.column_id === col.column_id)
if (colIdx !== -1) {
sheetInstance.hideColumn(colIdx)
table.columns[colIdx].visible = false
}
})
})
}
})
Подробнее здесь: https://stackoverflow.com/questions/797 ... dsheet-vue
Мобильная версия