как скрыть строку таблицы на нг-клик

0

Используя ng-repeat, я повторяю tr. Каждая строка будет иметь одну кнопку удаления, когда я нажимаю кнопку удаления, которую родительский tr хочет скрыть, как это возможно, используя angularjs

<tr ng-repeat="affiliate in affiliateList" ng-hide='num == $index'>
      <td>{{affiliate.affName}}</td>
      <td>{{affiliate.affUrl}}</td>
      <td>{{affiliate.associatedId}}</td>
      <td><span class="btn btn-small" ng-click="delete(affiliate.affId); deleteList($index)">Delete</span></td>
    </tr>


$scope.num = 0;
$scope.deleteList = function(index){
    $scope.num = index;
}
  • 0
    Можете ли вы предоставить нам плункер, который воспроизводит ту же проблему
Теги:

5 ответов

1
Лучший ответ

Вы можете попробовать этот код, и ему не нужно писать функцию.

<tr ng-repeat="affiliate in affiliateList" ng-hide='num == $index'>
      <td>{{affiliate.affName}}</td>
      <td>{{affiliate.affUrl}}</td>
      <td>{{affiliate.associatedId}}</td>
      <td><span class="btn btn-small" ng-click="delete(affiliate.affId); num=$index">Delete</span></td>
</tr>
0

Возможно, вы ищете эту строку "Удалить таблицу", динамично надеясь, что это поможет вам.

0
You need to modify delete method as below:

$scope.deleteList = function(index){
    $scope.affiliateList.splice(index, 1);
}

И вы можете удалить это состояние ng-hide.

  • 0
    Невозможно прочитать свойство "склейка" из неопределенного, эта ошибка
  • 0
    У вас уже есть массив $ scope.affiliateList для итерации. Можете ли вы поделиться своим кодом?
0

вместо того, чтобы скрывать строку, удалите ее из списка

HTML

<span class="btn btn-small" ng-click="delete(affiliate)">Delete</span>

JS

$scope.delete = function(item) {
   $scope.affiliates.splice(item, 1);
}
0

Для каждого объекта требуется переменная (например, видимость), которую мы можем использовать для отслеживания состояния каждой строки.

филиал

{
    'visibility': value
    'affId': value,
    'affName': value,
    'affUrl': value,
    'associatedId': value,
}

Инициализация видимости с помощью true и affId содержит уникальное значение для каждого объекта.

sample html.js

<tr ng-repeat="affiliate in affiliateList track by affiliate.affId" ng-hide='!affiliate.visibility'>
      <td>{{affiliate.affName}}</td>
      <td>{{affiliate.affUrl}}</td>
      <td>{{affiliate.associatedId}}</td>
      <td><span class="btn btn-small" ng-click="delete(affiliate.affId); deleteList(affiliate)">Delete</span></td>
    </tr>

controller.js

$scope.deleteList = function(affiliate){
     affiliate.visibility = false;
}

Это должно решить проблему.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню