Cell 组件一
<style lang ="scss" > .cell {padding-top: 15px;padding-bottom: 15px;color: #333;img {display: block;margin-right: 15px;}}
</style > <template > <Group > <cell class ="cell" title ="钱包" :border-intent ="false" :is-link ="false" > <img slot ="icon" width ="26" :src ="require('@/assets/images/imgs/dog1.png')" > </cell > <cell class ="cell" title ="表情" :link ="{path:'./index'}" :border-intent ="false" > <img slot ="icon" width ="26" :src ="require('@/assets/images/imgs/dog1.png')" > </cell > <cell class ="cell" title ="设置" :link ="{path:'./index'}" :border-intent ="false" > <img slot ="icon" width ="26" :src ="require('@/assets/images/imgs/dog1.png')" > </cell > </Group >
</template > <script >
import { Group, Cell } from "vux" ;
export default {name : "index" ,components : { Group, Cell },
};
</script >
复制代码
Cell 组件二
<style lang ="scss" > .cell {padding-top: 15px;padding-bottom: 15px;.cell-img {display: block;margin-right: 15px;}.name,,desc{text-overflow: ellipsis;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;overflow: hidden; }.name {color: #000;margin-bottom: 4px;}.desc {color: #aaa;font-size: 12px;}}
</style > <template > <Group > <cell class ="cell" v-for ="(item,index) in cellList" :key ="index" :link ="{path:'./index'}" value-align ="left" > <img class ="cell-img" slot ="icon" width ="40" :src ="item.icon" > <p class ="name" > {{item.name}}</p > <p class ="desc" > {{item.desc}}</p > </cell > </Group >
</template > <script >
import { Group, Cell } from "vux" ;
export default {name : "index" ,components : { Group, Cell },data() {return {cellList : [{name : "朋友圈" ,desc : "点击进入朋友圈" ,icon : require ("../../assets/images/imgs/dog1.png" ),},{name : "扫一扫" ,desc : "点击进入扫一扫" ,icon : require ("../../assets/images/imgs/dog2.png" )},{name : "摇一摇" ,desc : "点击进入摇一摇" ,icon : require ("../../assets/images/imgs/dog3.png" ),},{name : "看一看" ,desc : "点击进入看一看" ,icon : require ("../../assets/images/imgs/dog4.png" )}],}}
};
</script >
复制代码
Cell 组件三 模仿微信
<style lang ="scss" > .cell {padding-top: 10px;padding-bottom: 10px;position: relative;&:active {background-color: #ddd;}.cell-img {display: block;margin-right: 15px;}.badge {width: 10px;height: 10px;border-radius: 50%;background-color: red;position: absolute;top: 6px;left: 59px;z-index: 1;}.name,,desc{text-overflow: ellipsis;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;overflow: hidden; }.name {font-size: 17px;color: #000;margin-bottom: 5px;padding-right: 50px;}.desc {color: #aaa;font-size: 13px;padding-right: 45px;}.time {position: absolute;top: 13px;right: 10px;z-index: 1;font-size: 12px;clear: #aaa;}.state {width: 18px;height: 18px;position: absolute;bottom: 12px;right: 10px;z-index: 1;}}
</style > <template > <Group > <cell class ="cell" v-for ="(item,index) in cellList" :key ="index" value-align ="left" :border-intent ="false" @click.native ="goDetail" > <em class ="badge" v-show ="item.showBadge" > </em > <img class ="cell-img" slot ="icon" width ="50" :src ='item.img' > <p class ="name" > {{item.name}}</p > <p class ="desc" > {{item.desc}}</p > <span class ="time" > {{item.time}}</span > <img class ="state" v-show ="item.showShield" :src ="require('@/assets/images/imgs/state.png')" alt ="" > </cell > </Group >
</template > <script >
import { Group, Cell } from "vux" ;
export default {name : "index" ,components : { Group, Cell },data() {return {cellList : [{name : "我要你在我身旁,我要你为我梳妆,夜的风儿吹" ,desc : "我要你在我身旁,我要你为我梳妆,夜的风儿吹,吹得心痒痒" ,img : require ("../../assets/images/imgs/dog1.png" ),time : "下午5:34" ,showBadge : false ,showShield : false },{name : "爸爸" ,desc : "[1条]吃饭了吗?" ,img : require ("../../assets/images/imgs/dog2.png" ),time : "上午10::18" ,showBadge : true ,showShield : true },{name : "妈妈" ,desc : "[2条]睡觉了吗?" ,img : require ("../../assets/images/imgs/dog3.png" ),time : "昨天" ,showBadge : true ,showShield : false },{name : "室友" ,desc : "[6条]点名了吗?" ,img : require ("../../assets/images/imgs/dog4.png" ),time : "7月10日" ,showBadge : true ,showShield : true }]};},methods : {goDetail() {this .$router.push({ path : "/detial" });}}
};
</script >
复制代码
四. 自己写
<style lang ="scss" >
.test {margin: 10px 0;.ul {background-color: #fff;.li {display: -webkit-flex;display: flex;&:active {background-color: #f2f2f2;}&:nth-last-of-type(1){.right{&:after{height: 0;border-bottom: 0px solid #f2f2f2;color: #f2f2f2;}}}.left {width: 80px;position: relative;img {width: 20px;height: 20px;position: absolute;top: 50%;left: 50%;z-index: 1;transform: translate(-50%, -50%);}}.right {flex: 1;position: relative;&:after{content: " ";position: absolute;left: 0;bottom: 0;right: 0;width: 100%;height: 1px;border-bottom: 1px solid #dddddd;color: #dddddd;transform-origin: 0 100%;transform: scaleY(0.5);}.name {color: #999;font-size: 12px;margin: 12px 0;}.desc {color: #000;font-size: 15px;margin: 12px 0;a {color: #000;}}}}}
}
</style > <template > <div class ="test" > <ul class ="ul" > <li class ="li" v-for ="(item,index) in addressList" :key ="index" > <div class ="left" > <img :src ="item.icon" > </div > <div class ="right" > <p class ="name" > {{item.name}}</p > <p class ="desc" > <a :href ="'tel:'+item.content" > {{item.content}}</a > </p > </div > </li > </ul > </div >
</template > <script >
export default {name : "test" ,props : {addressList : {type : Array ,default : () => [{ name : "我的电话" , icon : "http://gplove.top/dog1.png" , content : "158695263654" },{ name : "父亲电话" , icon : "http://gplove.top/dog2.png" , content : "135991777177" },{ name : "母亲电话" , icon : "http://gplove.top/dog3.png" , content : "186959955888" }]}},data() {return {}},
};
</script > 复制代码