簡約至上,美炸了的 Vue 圓環(huán)菜單組件

來源:https://github.com/OYsun/VueCircleMenu
作者:OYsun(轉(zhuǎn)載已獲得作者許可诞仓,如需轉(zhuǎn)載請與原作者聯(lián)系)


VueCircleMenu

效果圖

API

Props

參數(shù) 類型 說明
type String 必填項,指明菜單的類型,有6種:top,botoom,left,right,middle,middle-around
circle boolean 菜單按鈕是否為圓角壁晒,默認(rèn)為方形按鈕
mask String 遮罩層,有兩種:"white"和"black"
animate String 子菜單動畫,可以引入外部css動畫庫界牡,比如Animate.css
btn boolean 開關(guān)按鈕,填這屬性,則有默認(rèn)開關(guān)按鈕吏奸,不填則沒有默認(rèn),需要在slot中自行定義開關(guān)按鈕
colors Array 按鈕和菜單的背景顏色

Slot

name 說明
item_btn 自定義開關(guān)按鈕
item_1 第一個菜單的內(nèi)容
item_2 第二個菜單的內(nèi)容
item_3 第三個菜單的內(nèi)容
item_4 第四個菜單的內(nèi)容

詳細(xì)說明

Props

type

type參數(shù)是必填項欢揖,指明菜單的類型,一共有一下六種:top,botoom,left,right,middle,middle-around


circle

circle是讓菜單按鈕為圓角奋蔚,默認(rèn)是方形按鈕:

mask

mask是開關(guān)按鈕在切換的時候產(chǎn)生的遮罩她混,分為兩種:"white"和"black".(注意:不填或填錯類型都視為不需要遮罩)

animate

animate是給菜單添加動畫,只要添加動畫css類即可泊碑,可以引入第三方css動畫庫坤按,比如animate.css

colors

colors是指定按鈕和菜單的背景顏色,不使用該屬性馒过,則會使用默認(rèn)的顏色配置臭脓,該組件默認(rèn)顏色配置為:

如果要配置顏色,colors傳入數(shù)組腹忽,另外来累,很重要的一點,數(shù)組的值必須是顏色代碼,而不是css類窘奏。例如:

<cirecle-menu type="bottom" colors="[ '#563761', '#A7425C', '#FFE26F', 'F3825F', '#F19584', ]">
    <button type="button" slot="item_btn"></button>
    <a slot="item_1" class="fa fa-twitter fa-lg" herf="#" ></a>
    <a slot="item_2" class="fa fa-weixin fa-lg" herf="#" ></a>
    <a slot="item_3" class="fa fa-weibo fa-lg" herf="#" ></a>
    <a slot="item_4" class="fa fa-github fa-lg" herf="#" ></a>
  </cirecle-menu>

注意顏色代碼必須一一對應(yīng)嘹锁,第一個顏色代碼指代按鈕,第二個顏色為第一個菜單着裹,依次類推领猾,共五個顏色代碼,填多骇扇,填少或者填入的不是顏色代碼都是無效的

Slot

item_btn

該命名slot是指自定義開關(guān)按鈕摔竿,當(dāng)你需要自定義開關(guān)按鈕,請不要填寫btn屬性少孝,使用該slot继低,這樣就可以禁用默認(rèn)的開關(guān)按鈕,使用自定義的按鈕稍走。(自定義開關(guān)按鈕有個好處郁季,就是可以給開關(guān)按鈕綁定事件冷溃,做進一步的操作)

item_1,item_2,item_3,item_4

該類slot分別指代四個菜單按鈕

思想:

這五個slot,其實就說明該組件其實就一個包裹內(nèi)容的控件梦裂, 里面的內(nèi)容都在slot設(shè)置。

  • 通過solt盖淡,可以填寫任何內(nèi)容年柠,并且自定義樣式
  <cirecle-menu type="top">
    <button type="button" slot="item_btn"></button>
    <router-link :to="..." slot="item_1">
    <span slot="item_2"></a>
    <div slot="item_3"></a>
    ![](img)
  </cirecle-menu>
  • 通過slot,給菜單綁定事件
  <cirecle-menu type="middle-around">
    <button type="button" slot="item_btn" @click="dosomething" ></button>
    <a slot="item_1" herf="#" @click=""></a>
    <v-touch tag="a" v-on:tap="onTap" slot="item_2"></v-touch>
    <v-touch tag="a" v-on:tap="onTap" slot="item_3"></v-touch>
    <a slot="item_4" herf="#" v-on:handler="handler"></a>
  </cirecle-menu>

簡單的例子

<!--"middle"類型, 動畫引入animate.css庫褪迟,白色遮罩冗恨,圓形自定義開關(guān)按鈕,默認(rèn)菜單顏色配置-->
  <cirecle-menu type="middle" animate="animated jello" mask='white' circle>
    <button type="button" slot="item_btn"></button>
    <a slot="item_1" class="fa fa-twitter fa-lg"></a>
    <a slot="item_2" class="fa fa-weixin fa-lg"></a>
    <a slot="item_3" class="fa fa-weibo fa-lg"></a>
    <a slot="item_4" class="fa fa-github fa-lg"></a>
  </cirecle-menu>
<!--"top"類型,默認(rèn)動畫,灰色遮罩味赃,方形默認(rèn)開關(guān)按鈕掀抹,自定義菜單顏色配置-->
  <cirecle-menu type="top" mask='black' btn colors="[ '#563761', '#A7425C', '#FFE26F', 'F3825F', '#F19584', ]">
    <a slot="item_1" class="fa fa-twitter fa-lg"></a>
    <a slot="item_2" class="fa fa-weixin fa-lg"></a>
    <a slot="item_3" class="fa fa-weibo fa-lg"></a>
    <a slot="item_4" class="fa fa-github fa-lg"></a>
  </cirecle-menu>

安裝和使用

npm install vue-circle-menu
  • 若作為全局組件使用
//在項目入口文件
import Vue from 'vue'
import CircleMenu from 'vue-circle-menu'
Vue.component('CircleMenu', CircleMenu)
  • 若作為局部組件
//在某個組件中
import CircleMenu from 'vue-circle-menu'
export default {
  components: {
    CircleMenu
  }
}

bug和建議

如果在使用中遇到問題或者建議,歡迎提issues

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末心俗,一起剝皮案震驚了整個濱河市傲武,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌城榛,老刑警劉巖揪利,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異狠持,居然都是意外死亡疟位,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進店門喘垂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來甜刻,“玉大人,你說我怎么就攤上這事正勒〉迷海” “怎么了?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵昭齐,是天一觀的道長尿招。 經(jīng)常有香客問我,道長阱驾,這世上最難降的妖魔是什么就谜? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮里覆,結(jié)果婚禮上丧荐,老公的妹妹穿的比我還像新娘。我一直安慰自己喧枷,他們只是感情好虹统,可當(dāng)我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布弓坞。 她就那樣靜靜地躺著,像睡著了一般车荔。 火紅的嫁衣襯著肌膚如雪渡冻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天忧便,我揣著相機與錄音族吻,去河邊找鬼。 笑死珠增,一個胖子當(dāng)著我的面吹牛超歌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蒂教,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼巍举,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了凝垛?” 一聲冷哼從身側(cè)響起懊悯,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎苔严,沒想到半個月后定枷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡届氢,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年欠窒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片退子。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡岖妄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出寂祥,到底是詐尸還是另有隱情荐虐,我是刑警寧澤,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布丸凭,位于F島的核電站福扬,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏惜犀。R本人自食惡果不足惜铛碑,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望虽界。 院中可真熱鬧汽烦,春花似錦、人聲如沸莉御。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至牍颈,卻和暖如春迄薄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背煮岁。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工噪奄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人人乓。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像都毒,于是被迫代替她去往敵國和親色罚。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 來源:github.com Vue.js開源項目速查表:https://www.ctolib.com/cheats...
    zhangtaiwei閱讀 11,626評論 1 159
  • 1.安裝 可以簡單地在頁面引入Vue.js作為獨立版本账劲,Vue即被注冊為全局變量戳护,可以在頁面使用了。 如果希望搭建...
    Awey閱讀 11,034評論 4 129
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫瀑焦、插件腌且、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,121評論 4 61
  • 此文很適合新手。 一榛瓮、眼影的分類: 眼影分為珠光和啞光兩大類铺董。珠光會反光,可以增加眼部立體感禀晓;珠光眼影一般用的少精续,...
    我獨一你無二閱讀 2,597評論 1 11
  • 親情,血脈相連粹懒、代代相傳重付, 是一種緣分、一份幸福; 親情凫乖,血溶于水确垫、生命永恒, 是一聲問候帽芽、一份關(guān)愛; 親情删掀,...
    Ahxin閱讀 439評論 0 2