微信小程序(四)視圖組件

小程序組件

  • 視圖容器

(一) 視圖容器

  • 了解小程序組件中的視圖容器
  • 明確小程序組件中的視圖容器的用途和方法
  • 了解不同視圖容器的特點和注意事項
(1) view 視圖容器

view視圖容器:是小程序最基礎(chǔ)的組件序芦,借助view可以實現(xiàn)頁面結(jié)構(gòu)的劃分勉抓,頁面布局的調(diào)整等.

 <view hover-class="view_hover" hover-start-time=500 hover-stay-time=500  hover-stop-propagation= true > 123</view>

view除了基礎(chǔ)的公共屬性外,還有四個屬性

屬性名 類型 默認值 說明
hover-class String none 指定按下去的樣式類橄维,當(dāng)hover-class="none"時弧哎,沒有點擊態(tài)效果
hover-stop-propagation Boolean false 指定是否阻止本節(jié)點的祖先節(jié)點出現(xiàn)點擊態(tài)
hover-start-time Number 50 按住后多久出現(xiàn)點擊態(tài)哪轿,單位毫秒
hover-stay-time Number 400 手指松開后點擊態(tài)保留時間腐螟,單位毫秒
(2) scroll-view容器
  • scroll-view 視圖容器: 可以在頁面形成一個可以滾動的視圖區(qū)域,幫助開發(fā)者實現(xiàn)頁面部分內(nèi)容的滑動展示
<scroll-view
      scroll-x
      upper-threshold = 50
      lower-threshold = 50
      scroll-top = 50
      scroll-left =50
      scroll-into-view="part1"
      scroll-with-animation = true
      enable-back-to-top = true
></scroll-view>
屬性名 類型 默認值 說明
scroll-x boolean false 允許橫向滾動
scroll-y Boolean false 允許縱向滾動
upper-threshold Number 50 距離頂部/左邊多遠(單位px)觸發(fā)scrolltoupper事件
bindscrolltoupper Event 滾動到頂部/左邊,會觸發(fā)scrolltoupper事件
lower-threshold Number 50 距離底部/右邊多遠(單位px)觸發(fā)scrolltolower事件
bindscrolltolower Event 滾動到底部/右邊,會觸發(fā)scrolltolower事件
scroll-top Number 設(shè)置豎向滾動條位置
scroll-left Number 設(shè)置橫向滾動條位置
scroll-with-animation Boolean false 在設(shè)置滾動條位置時候使用動畫過渡
scroll-into-view String 值為某子元素ID(id不能以數(shù)字開頭)設(shè)置哪個方向可滾動則在哪個方向滾動到該元素
enable-back-to-top Boolean false ios點擊頂部狀態(tài)欄钦幔,安卓雙擊標題欄枕屉,滾動條返回頂部,支持豎向
bindscroll event 滾動時觸發(fā),event.detail={scrollLeft,scrollTop,scrollHeight,scrollWidth,deltax,deltay}

請勿在scroll-view中使用textarea ,map,canvas,video組件
scroll -into-view的優(yōu)先級高于scroll-top;
在滾動scroll-view時會阻止頁面回彈节槐,所以在scroll-view中滾動搀庶,是無法觸發(fā)onPullDownRefresh
若要使用下拉刷新拐纱,請使用頁面的滾動而不是scroll-view這樣也能通過點擊頂部狀態(tài)欄回到頁面頂部


(3)swiper容器

  • swiper滑塊容器能夠在小程序內(nèi)實現(xiàn)輪播圖的效果

swiper組件除了公共屬性外铜异,還有一些特殊的屬性

  • 指示點控制
屬性名 類型 默認值 說明
indicator-dots Boolean false 是否顯示面板指示點
indicator-color Color rgba(0, 0, 0, .3) 指示點顏色
indicator-active-color Color #000000 當(dāng)前選中的指示點顏色
  • 播放控制
屬性名 類型 默認值 說明
autoplay Boolean false 是否顯示面板指示點
interval Number 5000 自動切換時間間隔
duration Number 500 滑動動畫時長
circular Boolean false 是否采用銜接滑動
vertical Boolean false 滑動方向是否是縱向
  • 滑塊控制
屬性名 類型 默認值 說明
current Number 0 當(dāng)前所在滑塊的 index
current-item-id String 當(dāng)前滑塊的item-id不能與current被同時指定
previous-margin String "0px" 前邊距,可用于露出前一項的一小部分秸架,接受 px 和 rpx 值
next-margin String "0px" 后邊距揍庄,可用于露出后一項的一小部分,接受 px 和 rpx 值
display-multiple-items Number 1 同時顯示的滑塊數(shù)量
skip-hidden-item-layout Boolean false 是否跳過來顯示的滑塊布局东抹,設(shè)為true可優(yōu)化復(fù)雜情況下的滑動性能蚂子,但是會丟失隱藏狀態(tài)滑塊的布局信息
  • 事件屬性
屬性名 類型 說明
bindchange event current改變時會觸發(fā)change事件沃测,event.detail={current:current,source:source}
bindanimationfinish event 動畫結(jié)束時候會觸發(fā)animationfinish事件event.detail同上
  • swiper組件使用注意

swiper中只可以放置<swiper-item>組件,否則會導(dǎo)致未定義行為
如果在bindchange的事件回調(diào)函數(shù)中使用setData改變current值食茎,則有可能導(dǎo)致setData被不停的調(diào)用,因為通常情況下請在改變current值前檢測source字段判斷是否用戶觸摸引起


 <swiper
        indicator-dots="{{indicatorDots}}" 
         autoplay="{{autoplay}}" 
         circular="{{circular}}" 
         vertical="{{vertical}}"
        interval="{{interval}}" 
        duration="{{duration}}" 
         previous-margin="{{previousMargin}}px" 
         next-margin="{{nextMargin}}px">
        <block wx:for="{{background}}" wx:key="*this">
          <swiper-item>
            <view class="swiper-item {{item}}"></view>
          </swiper-item>
        </block>
      </swiper>

(4)movable-view 可視圖容器

  • movable-view : 是小程序的可移動視圖容器,用于制作一些需要滑動操作的場景
<movable-area>
 <movable-view x="{{x}}" y="{{y}}" direction="all"></movable-view>
</movable-area>
屬性名 類型 默認值 說明 版本號
direction String none movable-view的移動方向蒂破,屬性值有all、vertical别渔、horizontal附迷、none
inertia Boolean false movable-view是否帶有慣性
out-of-bounds Boolean false 超過可移動區(qū)域后,movable-view是否還可以移動
x Number / String 定義x軸方向的偏移哎媚,如果x的值不在可移動范圍內(nèi)喇伯,會自動移動到可移動范圍;改變x的值會觸發(fā)動畫
y Number / String 定義y軸方向的偏移拨与,如果y的值不在可移動范圍內(nèi)稻据,會自動移動到可移動范圍;改變y的值會觸發(fā)動畫
damping Number 20 阻尼系數(shù)买喧,用于控制x或y改變時的動畫和過界回彈的動畫捻悯,值越大移動越快
friction Number 2 摩擦系數(shù),用于控制慣性滑動的動畫淤毛,值越大摩擦力越大秋度,滑動越快停止;必須大于0钱床,否則會被設(shè)置成默認值
disabled Boolean false 是否禁用 1.9.90
scale Boolean false 是否支持雙指縮放荚斯,默認縮放手勢生效區(qū)域是在movable-view內(nèi) 1.9.90
scale-min Number 0.5 定義縮放倍數(shù)最小值 1.9.90
scale-max Number 10 定義縮放倍數(shù)最大值 1.9.90
scale-value Number 1 定義縮放倍數(shù),取值范圍為 0.5 - 10 1.9.90
bindchange EventHandle 拖動過程中觸發(fā)的事件查牌,event.detail = {x: x, y: y, source: source}事期,其中source表示產(chǎn)生移動的原因,值可為touch(拖動)纸颜、touch-out-of-bounds(超出移動范圍)兽泣、out-of-bounds(超出移動范圍后的回彈)、friction(慣性)和空字符串(setData) 1.9.90
bindscale EventHandle 縮放過程中觸發(fā)的事件胁孙,event.detail = {scale: scale}

movable-view 必須設(shè)置width和height屬性唠倦,不設(shè)置默認為10px
movable-view 默認為絕對定位,top和left屬性為0px
當(dāng)movable-view小于movable-area時涮较,movable-view的移動范圍是在movable-area內(nèi)稠鼻;當(dāng)movable-view>大于movable-area時,movable-view的移動范圍必須包含movable-area(x軸方向和y軸方向分開考慮)


<movable-area>
      <movable-view x="{{x}}" y="{{y}}" direction="all">text</movable-view>
 </movable-area>

(五)cover-view覆蓋文字組件 cover-image

  • cover-view組件能夠覆蓋在原生組件上狂票,從而實現(xiàn)原生組件上顯示一些文本內(nèi)容
  • cover-view組件可以覆蓋map,video,canvas,camera這四種原生組件
<video>
<cover-view>
  <cover-view>
   <cover-image/>
  </cover-view>
</cover-view>
</video>

cover-view支持設(shè)置overflow:scroll但不能動態(tài)更新
cover-view支持position:fixed
cover-view只支持基本的定位候齿,布局,文本樣式。不支持設(shè)置的單邊的border,background-image,shadow,overflow:visible

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末慌盯,一起剝皮案震驚了整個濱河市周霉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌亚皂,老刑警劉巖俱箱,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異灭必,居然都是意外死亡匠楚,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門厂财,熙熙樓的掌柜王于貴愁眉苦臉地迎上來芋簿,“玉大人,你說我怎么就攤上這事璃饱∮虢铮” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵荚恶,是天一觀的道長撩穿。 經(jīng)常有香客問我,道長谒撼,這世上最難降的妖魔是什么食寡? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮廓潜,結(jié)果婚禮上抵皱,老公的妹妹穿的比我還像新娘。我一直安慰自己辩蛋,他們只是感情好呻畸,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布悼院。 她就那樣靜靜地躺著伤为,像睡著了一般。 火紅的嫁衣襯著肌膚如雪据途。 梳的紋絲不亂的頭發(fā)上绞愚,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天,我揣著相機與錄音颖医,去河邊找鬼位衩。 笑死,一個胖子當(dāng)著我的面吹牛便脊,可吹牛的內(nèi)容都是我干的蚂四。 我是一名探鬼主播光戈,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼哪痰,長吁一口氣:“原來是場噩夢啊……” “哼遂赠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起晌杰,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤跷睦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后肋演,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抑诸,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年爹殊,在試婚紗的時候發(fā)現(xiàn)自己被綠了蜕乡。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡梗夸,死狀恐怖层玲,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情反症,我是刑警寧澤辛块,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站铅碍,受9級特大地震影響润绵,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜胞谈,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一尘盼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧烦绳,春花似錦悔叽、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至睹晒,卻和暖如春趟庄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背伪很。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工戚啥, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人锉试。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓猫十,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子拖云,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344