WPickSurface

拾取面,於一個平面上以指標(滑鼠、觸控、觸控筆)挑選一個位置

本元件與顏色無關,只負責承載背景、繪製游標、接手勢並回報座標,背景由呼叫端以default slot傳入。 可用於色票選色、影像熱點標註、XY參數控制盤等任何「於平面上挑一點」之場景。

為完全受控元件:自身不保存座標,游標位置一律由locLeft與locTop決定,不綁定事件即不會有任何反應。 按下當下即發出一次pick,其後拖曳期間持續發出,放開或手勢被取消時發出pick-end。亦發出update:locLeft與update:locTop,故可用.sync綁定。

座標以px計,原點為感應面左上角,範圍為0至width-1與0至height-1(非width與height),payload另附已換算之0至1比例。 axis為'x'時,pick之top與ratioTop恆為0,locTop亦不使用。

呼叫端之根節點必須直接是本元件,不得再包任何div,否則版面高度會多出inline-block之descender。

Props

Name Type Default value Required? Description
width Number 200 No 輸入寬度數字,單位px,預設200
height Number 20 No 輸入高度數字,單位px,預設20
cursorSize Number 7 No 輸入游標尺寸數字,單位px,預設7
axis String 'x' No 輸入追蹤維度字串,可選'x'、'xy','x'為滿高直條游標且只追蹤橫向,'xy'為圓點游標且追蹤橫縱向,預設'x'
locLeft Number 0 No 輸入游標橫向位置數字,單位px,可用.sync雙向綁定,預設0
locTop Number 0 No 輸入游標縱向位置數字,單位px,僅axis為'xy'時使用,可用.sync雙向綁定,預設0
cursorColor String '#fff' No 輸入游標內框顏色字串,預設'#fff'
cursorBorderColor String '#666' No 輸入游標外框顏色字串,預設'#666'
editable Boolean true No 輸入是否為編輯模式布林值,預設true

Events

Name Payload Type Description
pick Object 使用者按下或拖曳時發射,帶出位置物件,格式為{left,top,ratioLeft,ratioTop,pointerType},left與top單位px且已夾擠於0至width-1與0至height-1之間,ratioLeft與ratioTop為換算之0至1比例,pointerType為'mouse'、'touch'或'pen',axis為'x'時top與ratioTop恆為0
update:locLeft Number 使用者按下或拖曳時發射,帶出游標橫向位置數字,供.sync使用
update:locTop Number 使用者按下或拖曳時發射,帶出游標縱向位置數字,供.sync使用,axis為'x'時不發射此事件
pick-end Object 使用者放開或手勢被系統取消時發射,不帶參數;元件銷毀時不發射

Description:
  • 拾取面,於一個平面上以指標(滑鼠、觸控、觸控筆)挑選一個位置

    本元件與顏色無關,只負責承載背景、繪製游標、接手勢並回報座標,背景由呼叫端以default slot傳入。 可用於色票選色、影像熱點標註、XY參數控制盤等任何「於平面上挑一點」之場景。

    為完全受控元件:自身不保存座標,游標位置一律由locLeft與locTop決定,不綁定事件即不會有任何反應。 按下當下即發出一次pick,其後拖曳期間持續發出,放開或手勢被取消時發出pick-end。亦發出update:locLeft與update:locTop,故可用.sync綁定。

    座標以px計,原點為感應面左上角,範圍為0至width-1與0至height-1(非width與height),payload另附已換算之0至1比例。 axis為'x'時,pick之top與ratioTop恆為0,locTop亦不使用。

    呼叫端之根節點必須直接是本元件,不得再包任何div,否則版面高度會多出inline-block之descender。

Props

Name Type Default value Required? Description
width Number 200 No 輸入寬度數字,單位px,預設200
height Number 20 No 輸入高度數字,單位px,預設20
cursorSize Number 7 No 輸入游標尺寸數字,單位px,預設7
axis String 'x' No 輸入追蹤維度字串,可選'x'、'xy','x'為滿高直條游標且只追蹤橫向,'xy'為圓點游標且追蹤橫縱向,預設'x'
locLeft Number 0 No 輸入游標橫向位置數字,單位px,可用.sync雙向綁定,預設0
locTop Number 0 No 輸入游標縱向位置數字,單位px,僅axis為'xy'時使用,可用.sync雙向綁定,預設0
cursorColor String '#fff' No 輸入游標內框顏色字串,預設'#fff'
cursorBorderColor String '#666' No 輸入游標外框顏色字串,預設'#666'
editable Boolean true No 輸入是否為編輯模式布林值,預設true

Events

Name Payload Type Description
pick Object 使用者按下或拖曳時發射,帶出位置物件,格式為{left,top,ratioLeft,ratioTop,pointerType},left與top單位px且已夾擠於0至width-1與0至height-1之間,ratioLeft與ratioTop為換算之0至1比例,pointerType為'mouse'、'touch'或'pen',axis為'x'時top與ratioTop恆為0
update:locLeft Number 使用者按下或拖曳時發射,帶出游標橫向位置數字,供.sync使用
update:locTop Number 使用者按下或拖曳時發射,帶出游標縱向位置數字,供.sync使用,axis為'x'時不發射此事件
pick-end Object 使用者放開或手勢被系統取消時發射,不帶參數;元件銷毀時不發射