前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信小程序官方组件展示之视图容器share-element源码

微信小程序官方组件展示之视图容器share-element源码

作者头像
软件事业部
发布2022-08-17 08:52:08
6220
发布2022-08-17 08:52:08
举报
文章被收录于专栏:软件事业部专栏

以下将展示微信小程序之视图容器share-element源码官方组件能力,组件样式仅供参考,开发者可根据自身需求定义组件样式,具体属性参数详见小程序开发文档。

功能描述:

共享元素。

共享元素是一种动画形式,类似于 flutter Hero动画,表现为元素像是在页面间穿越一样。该组件需与 page-container 组件结合使用。

使用时需在当前页放置 share-element 组件,同时在 page-container 容器中放置对应的 share-element 组件,对应关系通过属性值 key 映射。当设置 page-container 显示时,transform 属性为 true 的共享元素会产生动画。当前页面容器退出时,会产生返回动画。

属性说明:

属性

类型

默认值

必填

说明

最低版本

key

string

映射标记

2.16.0

transform

boolean

FALSE

是否进行动画

2.16.0

duration

number

300

动画时长,单位毫秒

2.16.0

easing-function

string

ease-out

css缓动函数

2.16.0

示例代码:

WXML:

代码语言:html
复制
<view>
 <view class="screen screen1">
 <block wx:for="{{contacts}}" wx:key="id" wx:for-item="contact">
 <view class="contact" bindtap="showNext" data-idx="{{index}}">
 <share-element duration="{{duration}}" class="name" key="name" transform="{{transformIdx === index}}">
 {{contact.name}}
 </share-element>
 <view class="list">
 <view>Phone: {{contact.phone}}</view>
 <view>Mobile: {{contact.mobile}}</view>
 <view>Email: {{contact.email}}</view>
 </view>
 </view>
 </block>
 </view>
</view>
<page-container
 show="{{show}}"
 overlay="{{overlay}}"
 close-on-slide-down
 duration="{{duration}}"
 position="{{position}}"
 bindbeforeenter="onBeforeEnter"
 bindenter="onEnter"
 bindafterenter="onAfterEnter"
 bindbeforeleave="onBeforeLeave"
 bindleave="onLeave"
 bindafterleave="onAfterLeave"
 bindclickoverlay="onClickOverlay"
> 
 <view class="screen screen2">
 <view class="contact">
 <share-element class="name" key="name" duration="{{duration}}" transform>
 {{contact.name}}
 </share-element>
 <button class="screen2-button" bindtap="showPrev" hidden="{{!show}}" hover-class="none">Click Me</button>
 </view>
 </view>
</page-container>

WXSS:

代码语言:css
复制
page {
 color: #333;
 background-color: #ddd;
 overflow: hidden;
}
button {
 border: 0 solid #0010ae;
 background-color: #1f2afe;
 color: #fff;
 font-size: 120%;
 padding: 8px 16px;
 outline-width: 0;
 -webkit-appearance: none;
 box-shadow: 0 8px 17px rgba(0, 0, 0, 0.2);
}
.screen {
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 padding: 16px;
 -webkit-overflow-scrolling: touch;
}
.contact {
 position: relative;
 padding: 16px;
 background-color: #fff;
 width: 100%;
 height: 100%;
 box-sizing: border-box;
}
.avatar {
 position: absolute;
 top: 16px;
 left: 16px;
 font-size: 0;
}
.name {
 height: 65px;
 font-size: 2em;
 font-weight: bold;
 text-align: center;
 margin: 10px 0;
}
.list {
 padding-top: 8px;
 padding-left: 32px;
}
.screen1 {
 overflow-y: scroll;
 padding: 0;
}
.screen1 .contact {
 margin: 16px;
 height: auto;
 width: auto;
 box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.2);
}
.screen2-button {
 display: block;
 margin: 24px auto;
}
.paragraph {
 -webkit-transition: transform ease-in-out 300ms;
 transition: transform ease-in-out 300ms;
 -webkit-transform: scale(0.6);
 transform: scale(0.6);
}
.enter.paragraph {
 transform: none;
}

版权声明: 本站所有内容均由互联网收集整理、上传,如涉及版权问题,请联系我们第一时间处理。

原文链接地址:https://developers.weixin.qq.com/miniprogram/dev/component/share-element.html

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档