Angularjs 悬停在列表视图上';它应该变成一个复选框

Angularjs 悬停在列表视图上';它应该变成一个复选框,angularjs,listview,checkbox,angular-material,avatar,Angularjs,Listview,Checkbox,Angular Material,Avatar,当我面临问题时,我有一个要求。 要求是: 我有一个列表视图,其中每个列表项都有一个圆形化身 我想要什么?在列表项的圆形化身悬停时,它应该变成一个复选框来选择该列表项 而且,对于多选列表项,上面和下面的所有列表项也应显示复选框而不是头像 我在我的项目中使用了angularJs和AngularMaterial 为了演示,请检查链接。 提前谢谢 我正在用代码编辑这篇文章 <md-button ng-click="toggle = !toggle"> toggle </md

当我面临问题时,我有一个要求。 要求是: 我有一个列表视图,其中每个列表项都有一个圆形化身

我想要什么?在列表项的圆形化身悬停时,它应该变成一个复选框来选择该列表项

而且,对于多选列表项,上面和下面的所有列表项也应显示复选框而不是头像

我在我的项目中使用了angularJs和AngularMaterial

为了演示,请检查链接。

提前谢谢

我正在用代码编辑这篇文章

<md-button  ng-click="toggle = !toggle">
    toggle
</md-button>
<div class="container" layout="row" flex>
    <md-sidenav md-is-locked-open="$mdMedia('gt-sm')" class="md-whiteframe-4dp" flex md-component-id="left">
        <md-list flex>
            <md-subheader class="md-no-sticky">Tapplent Team</md-subheader>
            <md-list-item class="md-3-line" ng-repeat="user in users" ng-click="setSelectedUser(user)">
              <img ng-src="{{user.avatar}}" class="md-avatar" alt="{{item.who}}" ng-show="toggle"/>
                <md-checkbox ng-model="data.cb1" aria-label="Checkbox 1" ng-hide="toggle">
                    Checkbox 1: {{ data.cb1 }}
                </md-checkbox>
              <div class="md-list-item-text" layout="column">
                <h3>{{ user.name }}</h3>
                <h4>{{user.designation}}</h4>
                <p>{{user.technology}}</p>
              </div>
            </md-list-item>
        </md-list>
    </md-sidenav>
</div>

切换
塔普伦特队
复选框1:{data.cb1}
{{user.name}
{{user.designation}
{{user.technology}


为了测试,我使用了一个按钮切换,基本上是隐藏和显示化身和复选框。要隐藏化身并在悬停时显示复选框,可以使用CSS。将图像和复选框包装在一个div中,并给它一个类,例如“avatarRapper”

要在至少选中一个复选框时隐藏所有化身并显示复选框,可以使用
ng class
添加一个CSS类,该类将隐藏/显示适当的元素

HTML:
ng class
将添加类“AtlastoneSelected”,如果
AtlastoneSelected()
返回true

我将它添加到列表中,而不是添加到
ng repeat
中的元素中,因为它不需要对每个重复的元素检查一次

<md-list flex ng-class="{'atLeastOneSelected': atLeastOneSelected()}">
函数检查是否至少选择了一个用户。返回真/假

$scope.atLeastOneSelected = function() {
  $scope.users.some(function(user) {
    return user.selected === true;
  });
};
CSS:

.atLeastOneSelected img.md-avatar {
  display: none;
}

.atLeastOneSelected md-checkbox {
  display: inline-block;
}

要隐藏化身并在悬停时显示复选框,可以使用CSS。将图像和复选框包装在一个div中,并给它一个类,例如“avatarRapper”

要在至少选中一个复选框时隐藏所有化身并显示复选框,可以使用
ng class
添加一个CSS类,该类将隐藏/显示适当的元素

HTML:
ng class
将添加类“AtlastoneSelected”,如果
AtlastoneSelected()
返回true

我将它添加到列表中,而不是添加到
ng repeat
中的元素中,因为它不需要对每个重复的元素检查一次

<md-list flex ng-class="{'atLeastOneSelected': atLeastOneSelected()}">
函数检查是否至少选择了一个用户。返回真/假

$scope.atLeastOneSelected = function() {
  $scope.users.some(function(user) {
    return user.selected === true;
  });
};
CSS:

.atLeastOneSelected img.md-avatar {
  display: none;
}

.atLeastOneSelected md-checkbox {
  display: inline-block;
}

在同一位置为每个列表项设置复选框和头像。使用CSS hover隐藏化身,并在用户将鼠标悬停在化身上时显示复选框。如果所选项目的数量大于0,则使用
ng class
隐藏化身。感谢回复。还有一件事是缺少的要求,在盘旋的头像只有这个头像应该变成一个复选框,当我选中这个复选框,然后所有头像应该变成一个复选框多选择。我会要求你请创建一个JSFIDLE如果可能的话。这将是一个伟大的帮助CSS悬停是用来隐藏只有一个化身。如果将头像和复选框包装在一个div中,您可以执行类似.wrapper:hover>img.avatar{display:none;}的操作,并对复选框执行相同的操作,但显示它。我会很忙一段时间,今天可能无法创建一个示例,在同一个位置为每个列表项创建一个复选框和头像。使用CSS hover隐藏化身,并在用户将鼠标悬停在化身上时显示复选框。如果所选项目的数量大于0,则使用
ng class
隐藏化身。感谢回复。还有一件事是缺少的要求,在盘旋的头像只有这个头像应该变成一个复选框,当我选中这个复选框,然后所有头像应该变成一个复选框多选择。我会要求你请创建一个JSFIDLE如果可能的话。这将是一个伟大的帮助CSS悬停是用来隐藏只有一个化身。如果将头像和复选框包装在一个div中,您可以执行类似.wrapper:hover>img.avatar{display:none;}的操作,并对复选框执行相同的操作,但显示它。我会忙一段时间,今天可能无法创建一个示例