нг-шоу не работает в колонке - PullRequest
0 голосов
/ 05 мая 2019

Я использую Handsontable 0.34.5 с оболочкой AngularJS 1.6.5 и ngHandsontable 0.13.

Мне нужно скрыть столбец таблицы handsontable в соответствии с условием.

Я пытаюсь сделать это с помощью директивы ng-show или ng-hide, но она не работает.

Handsontable HiddenColumns Плагин не поддерживается в версии 0.34.5.

Вот код:

<hot-table settings="tableSettings" datarows="items">
    <hot-column ng-show="false" data="id" title="'ID'"></hot-column>   
</hot-table>

Вот демоверсия .

Как мне спрятать handsontable с угловой директивой?

UPDATE

В настоящее время я использую директиву ng-if. Но у меня есть проблема, которой я не удовлетворен: он воссоздает DOM, когда условие истинно и столбец добавляется в конец таблицы, но не в место, для которого он был предписан. Проверьте это здесь

Ответы [ 2 ]

0 голосов
/ 05 мая 2019

Чтобы манипулировать столбцами, избегайте директивы <hot-column>.Вместо этого используйте атрибут columns:

<hot-table col-headers="true" 
           datarows="ctrl.data" 
           columns="ctrl.columns">
</hot-table>
this.columns = [
    { data: 'id',    title: 'ID',    readOnly: true  },
    { data: 'name',  title: 'Name',  readOnly: true  },
    { data: 'price', title: 'Price', readOnly: false }
];


var deletedName;  
this.hideName = function() {
    deletedName = this.column.splice(1,1);
};
this.showName = function() {
    this.column.splice(1,0,deletedName);
};
0 голосов
/ 05 мая 2019

Вы можете использовать директиву ng-if, чтобы скрыть столбцы

<hot-table settings="tableSettings" datarows="items">
    <hot-column ng-if="false" data="id" title="'ID'"></hot-column>   
</hot-table>

Демо

...