【问题标题】:At each time keep only one section visible in my table每次只在我的表格中保留一个部分
【发布时间】:2023-03-22 21:24:01
【问题描述】:

我正在尝试使用 Angular 创建的 this 表。

如您所见,它将每个元素分为单独的组,您可以打开或关闭这些组。

我想要实现的是始终只有一个组可见,因此当我切换一个组时,打开的组将关闭,只留下所选组可见。

我不确定如何遍历所有剩余的组并将 hide 变量设置为 true。

如何做到这一点?

【问题讨论】:

  • 用你的代码做一个笨拙的人。我很确定这就像在表格的ng-repeat 中拥有一个适当的ng-show 一样简单。
  • 我没有创建任何东西,因为链接中提供了一个运行示例。更不用说我不知道​​如何在 plunker 中包含 ng-tables 模块。

标签: javascript angularjs angular-material


【解决方案1】:

使用隐藏其他行并仅展开单击的方法

$scope.switchGroup = function(group, groups){
if(group.$hideRows){
  angular.forEach(groups, function(g){
    if(g !== group){
      g.$hideRows = true;
    }
  });
}

group.$hideRows = !group.$hideRows;
};

这里有解释ng-Table Grouping: Open only row at a time

你可以查看我修改过的这个Plunkerhttp://plnkr.co/edit/KVrOM7SEVReSYvlJFzva?p=preview

【讨论】:

  • 好像是这样。但是它的加载方式存在问题。如果我们只希望一个组可见,那么当页面加载时,它不应该从所有可见的组开始,而可能只有第一个。 Plunker 对我不起作用,因为它显示变量名称而不是包含组的表,所以我必须在本地测试它,我希望它不会以某种方式弄乱它。
  • 我的意思是不可见不可见,对不起。
  • @dearn44 我添加了一个 plunker ,你能检查一下这是不是你要找的东西
  • 是的,这正是我想要的。我只是建议,如果我们从第一组可见开始,它可能更美观,或者对用户更容易,因为我们应该像现在一样从一开始就拥有所有不可见的。
  • try ''
猜你喜欢
  • 2021-12-19
  • 2020-08-15
  • 2021-07-07
  • 1970-01-01
  • 2019-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多