卡片是非常常用也是非常重要的元件,特別是在移動端的眾多應用場景中,隨便開啟一個手機
App
,您會發現充斥著各種各樣的卡片。所以,我們也來製作一個簡易的
Card
元件返回閱讀列表點選 這裡
需求分析
我們先做一個簡單的需求分析
- 允許使用者自定義內容
- 允許更換顏色
那麼可以整理出以下參數列格
引數 | 含義 | 型別 | 可選值 | 預設值 |
---|---|---|---|---|
color | 顏色 | string | 任意合法顏色值 | #d3c8f5 |
骨架
所以很容易能夠得到如下骨架程式碼:
<template>
<div class="jeremy-card" :style="{ '--color': color }">
<slot></slot>
</div>
</template>
注意
這裡我們放置一個
slot
插槽就行了,使用者可以根據需要個性化設定Card
主題的內容!
功能
首先,我們在 typescript
中宣告屬性
declare const props: {
color: string;
};
然後,再在 export default
中寫入引數:
export default {
install: function (Vue) {
Vue.component(this.name, this);
},
name: "JeremyCard",
props: {
color: {
type: String,
default: "#8c6fef",
},
},
};
樣式表
最後,我們再補全樣式表:
.jeremy-card {
border-radius: 8px;
box-shadow: 0px 0px 10px 0px var(--color);
padding: 12px;
background: white;
}
測試
我們將 JeremyCard
引入到測試文件中預覽一下效果:
專案地址 ?
GitHub: https://github.com/JeremyWu917/jeremy-ui
官網地址 ?
JeremyUI: https://ui.jeremywu.top
感謝閱讀 ☕