UNPKG

6.64 kBTypeScriptView Raw
1import { ComponentType } from 'react'
2import { CommonEventFunction } from './common'
3import { ViewProps } from './View'
4interface CoverViewProps extends ViewProps {
5 /** 设置顶部滚动偏移量,仅在设置了 overflow-y: scroll 成为滚动元素后生效
6 * @supported weapp, alipay, swan, qq, jd
7 */
8 scrollTop?: number
9 /** 设置与容器顶部的固定距离,效果相当于在 CSS 中设置 position: fixed 和 top 值,该属性优先级高于 fixed-bottom,CSS 设置的 position、top、bottom 值
10 * @supported swan
11 */
12 fixedTop?: string
13 /** 设置与容器右侧的固定距离,效果相当于在 CSS 中设置 position: fixed 和 right 值,该属性优先级高于 CSS 设置的 position、left、right 值
14 * @supported swan
15 */
16 fixedRight?: string
17 /** 设置与容器底部的固定距离,效果相当于在 CSS 中设置 position: fixed 和 bottom 值,该属性优先级高于 CSS 设置的 position、top、bottom 值
18 * @supported swan
19 */
20 fixedBottom?: string
21 /** 设置与容器左侧的固定距离,效果相当于在 CSS 中设置 position: fixed 和 left 值,该属性优先级高于 fixed-right,CSS 设置的 position、left、right 值
22 * @supported swan
23 */
24 fixedLeft?: string
25 /** 无障碍访问,(角色)标识元素的作用
26 * @supported qq
27 */
28 ariaRole?: string
29 /** 无障碍访问,(属性)元素的额外描述
30 * @supported qq
31 */
32 ariaLabel?: string
33 /** 允许横向滚动。
34 * @supported alipay
35 * @default false
36 */
37 scrollX?: boolean
38 /** 允许纵向滚动。
39 * @supported alipay
40 * @default false
41 */
42 scrollY?: boolean
43 /** 距顶部/左边多远时(单位px),触发 scrolltoupper 事件。
44 * @supported alipay
45 * @default 50
46 */
47 upperThreshold?: number
48 /** 距底部/右边多远时(单位px),触发 scrolltolower 事件。
49 * @supported alipay
50 * @default 50
51 */
52 lowerThreshold?: number
53 /** 设置横向滚动条位置。
54 * @supported alipay
55 */
56 scrollLeft?: number
57 /** 滚动到子元素,值应为某子元素的 id。当滚动到该元素时,元素顶部对齐滚动区域顶部。
58 * 说明:scroll-into-view 的优先级高于 scroll-top。
59 * @supported alipay
60 */
61 scrollIntoView?: string
62 /** 在设置滚动条位置时使用动画过渡。
63 * @supported alipay
64 * @default false
65 */
66 scrollWithAnimation?: boolean
67 /** 当 scroll-with-animation设置为 true 时,可以设置 scroll-animation-duration 来控制动画的执行时间,单位 ms。
68 * @supported alipay
69 */
70 scrollAnimationDuration?: number
71 /** 当点击 iOS 顶部状态栏或者双击 Android 标题栏时,滚动条返回顶部,只支持竖向。
72 * @supported alipay
73 * @default false
74 */
75 enableBackToTop?: boolean
76 /** 纵向滚动时,当滚动到顶部或底部时,强制禁止触发页面滚动,仍然只触发 scroll-view 自身的滚动。
77 * @supported alipay
78 * @default false
79 */
80 trapScroll?: boolean
81 /** 发生滚动前,对滚动方向进行判断,当方向是顶部/左边时,如果值为 always 将始终禁止滚动,如果值为 out-of-bounds 且当前已经滚动到顶部/左边,禁止滚动。
82 * @supported alipay
83 */
84 disableLowerScroll?: string
85 /** 发生滚动前,对滚动方向进行判断,当方向是底部/右边时,如果值为 always 将始终禁止滚动,如果值为 out-of-bounds 且当前已经滚动到底部/右边,禁止滚动。
86 * @supported alipay
87 */
88 disableUpperScroll?: string
89 /** 滚动到顶部/左边,会触发 scrolltoupper 事件。
90 * @supported alipay
91 */
92 onScrollToUpper?: CommonEventFunction
93 /** 滚动到底部/右边,会触发 scrolltolower事件。
94 * @supported alipay
95 */
96 onScrollToLower?: CommonEventFunction
97 /** 滚动时触发,event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth}。
98 * @supported alipay
99 */
100 onScroll?: CommonEventFunction
101 /** 触摸动作开始。
102 * @supported alipay
103 */
104 onTouchStart?: CommonEventFunction
105 /** 触摸后移动。
106 * @supported alipay
107 */
108 onTouchMove?: CommonEventFunction
109 /** 触摸动作结束。
110 * @supported alipay
111 */
112 onTouchEnd?: CommonEventFunction
113 /** 触摸动作被打断,如来电提醒、弹窗。
114 * @supported alipay
115 */
116 onTouchCancel?: CommonEventFunction
117}
118/** 覆盖在原生组件之上的文本视图。可覆盖的原生组件包括 map、video、canvas、camera、live-player、live-pusher 只支持嵌套 cover-view、cover-image,可在 cover-view 中使用 button。
119 * @classification viewContainer
120 * @supported weapp, alipay, swan, qq, jd, h5, harmony_hybrid
121 * @example_react
122 * ```tsx
123 * // js
124 * class App extends Components {
125 * render () {
126 * return (
127 * <View className='container'>
128 * <Video id='myVideo' src='src'>
129 * <CoverView className='controls'>
130 * <CoverView className='play' onClick='play'>
131 * <CoverImage className='img' src='src' />
132 * </CoverView>
133 * </CoverView>
134 * </Video>
135 * </View>
136 * )
137 * }
138 * }
139 * // css
140 * .container {
141 * position: relative;
142 * }
143 * .controls {
144 * position: absolute;
145 * top: 50%;
146 * left: 50%;
147 * width: 300px;
148 * height: 225px;
149 * transform: translate(-50%, -50%);
150 * }
151 * ```
152 * @example_vue
153 * ```html
154 * <template>
155 * <view class="container">
156 * <video id='myvideo' src='https://ugccsy.qq.com/uwMROfz2r5zBIaQXGdGnC2dfDma3J1MItM3912IN4IRQvkRM/o31507f7lcd.mp4?sdtfrom=v1010&guid=aa18cf106b7fdb7e40f2d20b206f2b4f&vkey=63B0FCCC7FC3ADC342C166D86571AE02772258CD9B515B065DC68DF3919D8C288AE831D570ED5E8FE0FF3E81E170D04FF11F874BFDDACF7AAA2C0CFF2ACB39FB1A94DAD1AB859BDA53E4DD6DBCDC1217CEF789A9AC079924E2BBC599EED7A1FFDD60A727F2EB7E7B6472CE63DD4B683C9199DFC78A6A6C4D9891E05467C4B64E'>
157 * </video>
158 * <cover-view class='controls'>
159 * <cover-view class='play' `@tap='play'>
160 * <cover-image class='img' src='https://img10.360buyimg.com/ling/s345x208_jfs/t1/133501/7/9865/382161/5f5ee31fEbdd6a418/0cdc0156ffff3c23.png' />
161 * </cover-view>
162 * </cover-view>
163 * </view>
164 * </template>
165 *
166 * <style>
167 * .container {
168 * position: relative;
169 * }
170 * .controls {
171 * position: absolute;
172 * top: 50%;
173 * left: 50%;
174 * width: 300px;
175 * height: 225px;
176 * transform: translate(-50%, -50%);
177 * }
178 * </style>
179 * ```
180 * @see https://developers.weixin.qq.com/miniprogram/dev/component/cover-view.html
181 */
182declare const CoverView: ComponentType<CoverViewProps>
183export { CoverView, CoverViewProps }