Ionic 列表

1.简介

  列表是常用的组织信息的方式,在ionic中,使用ion-list指令声明列表元素,使用ion-item指令声明成员元素。
  ion-list和ion-item可选的样式如下。
这里写图片描述
这里写图片描述

2.ion-list样式

1)边框

  我们可以为ion-list添加list-boderless类来实现无边框的列表。

<ion-list>
    <ion-item class="item-divider">normal</ion-item>
    <ion-item>First</ion-item>
    <ion-item>Second</ion-item>
    <ion-item>Third</ion-item>
</ion-list>
<ion-list class="list-borderless">
    <ion-item class="item-divider">list-borderless</ion-item>
    <ion-item>First</ion-item>
    <ion-item>Second</ion-item>
    <ion-item>Third</ion-item>
</ion-list>

这里写图片描述

2)属性

属性名含义
typelist-inset
card
产生内嵌效果
产生内嵌效果,并且有阴影效果。
show-delete作用域的布尔变量是否显示成员的ion-delete-button,固定显示在item左侧。
show-reorder作用域的布尔变量是否显示成员内的reorder按钮,固定显示在item右侧。
can-swipe作用域的布尔变量是否支持滑动,滑动会显示item的option按钮。

  在显示删除或重排序按钮的时候,是不能滑动的,而且现在点击删除和排序按钮肯定是没有反应的,接下来会在脚本接口部分演示。

<body ng-app="myApp" ng-controller="myController">
    <ion-list show-delete="flag.showDelete" show-reorder="flag.showReorder">
        <ion-item ng-repeat="item in items">
            <ion-delete-button class="ion-minus-circled"></ion-delete-button>
            <ion-reorder-button class="ion-navicon"></ion-reorder-button>
            {{ item }}
        </ion-item>
    </ion-list>
    <script>
        var app = angular.module("myApp",["ionic"]);
        app.controller("myController",function($scope) {
            $scope.items = ["first","second","third"];
            $scope.flag = {
                showDelete:true,
                showReorder:true,
            };
        });
    </script>
</body>

这里写图片描述

3.ion-item样式

1)边框

  可以为成员指定item-borderless类使得该成员无边框。

<ion-list>
    <ion-item class="item-divider">item-borderless</ion-item>
    <ion-item>First</ion-item>
    <ion-item class="item-borderless">Second</ion-item>
    <ion-item>Third</ion-item>
</ion-list>

这里写图片描述

2)配色

  可以为每个item指定不同的item-color类来指定不同的颜色。

<ion-list>
    <ion-item class="item-divider">item-color</ion-item>
    <ion-item class="item-light">item-light</ion-item>
    <ion-item class="item-stable">item-stable</ion-item>
    <ion-item class="item-positive">item-positive</ion-item>
    <ion-item class="item-calm">item-calm</ion-item>
    <ion-item class="item-balanced">item-balanced</ion-item>
    <ion-item class="item-energized">item-energized</ion-item>
    <ion-item class="item-assertive">item-assertive</ion-item>
    <ion-item class="item-royal">item-royal</ion-item>
    <ion-item class="item-dark">item-dark</ion-item>
</ion-list>

这里写图片描述

3)分组

  这个在前面已经多次使用了,我们可以为成员指定ion-divider类来实现一个列表分隔符。

4)嵌入按钮

  可以指定item-button-left和item-button-right来控制按钮在成员内的位置。

<ion-list>
    <ion-item class="item-button-left">
        <div class="button button-positive">左侧按钮</div>
        <p>First</p>
    </ion-item>
    <ion-item class="item-button-right">
        <div class="button button-balanced">右侧按钮</div>
        <p>Second</p>
    </ion-item>
</ion-list>

这里写图片描述

5)嵌入图标

  可以指定item-icon-left和item-icon-right来控制图标的位置。

<ion-list>
    <ion-item class="item-icon-left">
        <div class="icon ion-chatbox"></div>
        First
    </ion-item>
    <ion-item class="item-icon-right">
        <div class="icon ion-chatbox-working"></div>
        Second
    </ion-item>
</ion-list>

这里写图片描述

6)头像

  同样可以指定item-avator-left和item-avator-right来控制头像的位置,在Ionic中,头像是一个最大半径为40px的圆形图片,我们需要在item中的第一个img标签来指定使用的图片。

<ion-list>
    <ion-item class="item-avatar-left">
        <img src="tom.jpg"/>
        I am Tom
    </ion-item>
    <ion-item class="item-avatar-right">
        <img src="jerry.jpg"/>
        I am Jerry
    </ion-item>
</ion-list>

这里写图片描述

7)缩略图

  缩略图和头像的区别在于缩略图是一张最大边长为80px的正方形图片,同样用item-thumbnail-left和item-thumbnail-right来指定缩略图的位置,用item的第一个img标签来指定图片。
这里写图片描述

实现了首页商品分类,广告栏,分类菜单 <ion-view view-title="阿哥汇商城" hide-nav-bar="true"> <ion-header-bar align-title="left" class="bar-balanced"> <div class="buttons"> <!--ui-sref="category"--> <div class="button icon-left ion-navicon button-clear" ng-click="toggleCategory()"></div> <!--<div class="button icon-left ion-navicon button-clear" ng-click="modal.show()"></div>--> </div> <label class="item-input-wrapper" ui-sref="search" style="height: 33px;"> <i class="icon ion-ios-search placeholder-icon" style="margin: 20px 0px;color: #BBBBBB"></i> <input class="small-text" type="search" ng-model="searchStr" style="background: transparent;width: 100%" placeholder="请输入商品名称"> </label> <div class="buttons"> <div class="button icon-right ion-ios-cart-outline button-clear" ng-click="toCart()"></div> <i class="badge icon-right assertive" style="height:15px;font-size: 10px;margin-left: -10px;top: -8px;padding:0px 5px;float: inherit;background: #FFFFFF" ng-show="true">{{cartSize}}</i> </div> </ion-header-bar> <ion-content scroll="false" ng-show="isCategory" style="height:100%;background-color: rgba(0, 0, 0, 0.50);z-index: 900"> <div style="height: 85%;margin-bottom: 50px;"> <div class="row" style="width: 100%;height:100%;margin: 0;padding: 0;"> <div class="col-50" style="padding: 0;height: 100%;"> <div class="list" style="padding: 0"> <div class="item item-icon-right item-icon-left" ng-repeat="item in categoryAndProducts" ng-click="selectItem(item, $index)" ng-class="{active: activeItem == item}"> <i class="icon balanced" ng-class="iconArr[$index]"></i> {{item.cat_name}} <i class="icon ion-ios-arrow-right balanced" style="font-size: 24px;align-items:center"></i> </div> </div> </div> <div class="col-50" style="padding: 0;height: 100%;"> <div class="list" style="padding: 0;background: #dedede"> <div class="item active-item item-button-right" ng-repeat="cat in subCategory" ng-click="selectCategory(cat.cat_id)" style="background: #dedede"> {{cat.cat_name}} <button class="button button-clear">{{cat.goods_total}}ddd</button> </div> </div> </div> </div> </div> </ion-content> <ion-content class="false" overflow-scroll="true" style="overflow: hidden;"> <!-- <ion-refresher> 下拉刷新指令 --> <ion-refresher pulling-text="下拉刷新" on-refresh="doRefresh()" spinner="android"></ion-refresher> <ion-slide-box active-slide="myActiveSlide" auto-play="true" does-continue="true" show-pager="true" slide-interval="2000" ng-if="ads" style="height: 108px;"> <ion-slide ng-repeat="ad in ads"> <div class="box blue"> <!--<h1>BLUE</h1>--> <img src="{{APPCONFIG.picURL}}/{{ad.src}}" style="width: 100%;height:inherit"> </div> </ion-slide> </ion-slide-box> <ion-list style=""> <ion-item style="padding: 0px;border-color:#FFF"> <!--<h2>{{item.id}}</h2>--> <div style="height: auto; width:100%;padding: 0"> <div class="row row-center" style="height: 40px;width: 100%;padding: 0;font-size: 16px" onclick="save($index)"> <i class="icon" style="width: 4px;height: 50%;background: {{colors[0]}}"></i> <div class="padding" style="width: 100%"><h2 style="font-size: 20px;color:{{colors[0]}}">热门店铺</h2></div> 更多<i class="icon icon-right ion-ios-arrow-right" style="font-size: 24px;margin-right: 20px;margin-left: 3px"></i> </div> <div class="row row-wrap" style="height:auto; width: 100%;padding: 0;margin-top: 0 "> <div class="col col-33 img" ng-repeat="image in hotsuppliers" style="margin: 0px;padding: 7px auto;height: 60px"> <img ng-src="{{APPCONFIG.picURL}}{{image.logo}}" style="height: 45px;width: 90px"/> </div> </div> <div style="background: #F3F3F3;height: 10px;width: 100%"></div> </div> </ion-item> <ion-item collection-repeat="item in categoryAndProducts" style="padding: 0;border-color:#FFF"> <!--<h2>{{item.id}}</h2>--> <div style="height: auto; width:100%;padding: 0"> <div class="row row-center" style="height: 40px;width: 100%;padding: 0;font-size: 16px" ng-click="selectCategory(item.cat_id)"> <i class="icon" style="width: 4px;height: 50%;background: {{colors[(item.cat_id%5)]}}"></i> <div class="padding" style="width: 100%"><h2 style="color: {{colors[(item.cat_id%5)]}};font-size: 20px"> {{item.cat_name}}</h2></div> 更多<i class="icon icon-left ion-ios-arrow-right" style="font-size: 24px;margin-right: 20px;margin-left: 3px"></i> </div> <div class="row row-center" style="padding: 0;margin-top: 0"> <div class="col-33" ng-repeat="product in item.goods" style="padding: 5px" ng-click="goProductDetail(product.goods_id)"> <div class="img" style="width: 100%"> <img class="item-product-img" ng-src="{{APPCONFIG.picURL}}/{{product.goods_thumb}}" style="width: 90px;height: 90px"> <div class="desc" style="text-overflow: ellipsis;white-space:nowrap; overflow:hidden;font-size: 16px;margin-top: 5px"> {{product.goods_name}} </div> <div style="background: #DEDFE0;height: 1px;margin: 2px"></div> <div class="desc assertive" style="text-overflow: ellipsis;overflow:hidden;font-size: 16px"><b>{{product.price | currency:"¥"}}</b></div> </div> </div> </div> <div style="background: #F3F3F3;height: 10px;width: 100%"></div> </div> </ion-item> </ion-list> </ion-content>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值