# شريط التقدم Progress
تصوّر تقدّم المهمة. شكلان خطّي ودائري، يدعمان تلوين الحالات، ودالة لون مخصّصة، وتنسيق النص.
شريط التقدم
<template>
<div class="demo-col">
<p class="demo-note">line خطّي</p>
<LhProgress :percentage="30" />
<LhProgress :percentage="70" status="success" />
<LhProgress :percentage="45" status="warning" />
<LhProgress :percentage="20" status="danger" />
<LhProgress :percentage="60" :stroke-width="20" :format="fmt" />
<LhProgress :percentage="100" :show-text="false" />
<p class="demo-note">circle دائري (يتحكم width في حجم اللوحة، و strokeWidth في سماكة الخط)</p>
<div class="demo-row" style="gap: 32px; flex-wrap: wrap">
<LhProgress type="circle" :percentage="75" />
<LhProgress type="circle" :percentage="40" :width="120" :stroke-width="14" status="warning" />
<LhProgress type="circle" :percentage="100" status="success" :format="fmt" />
</div>
<p class="demo-note">color سلسلة نصية أو دالة تُرجع لوناً حسب النسبة المئوية</p>
<LhProgress :percentage="percent" :color="colorFn" />
<LhButton size="small" @click="bump">{{ percent >= 100 ? 'إعادة ضبط' : '+10' }}</LhButton>
</div>
</template>
<script>
export default {
data: () => ({
percent: 30,
}),
methods: {
fmt(p) {
return `${p / 10} من 10`
},
colorFn(p) {
if (p < 40) return 'var(--lh-danger-color)'
if (p < 80) return 'var(--lh-warning-color)'
return 'var(--lh-success-color)'
},
bump() {
this.percent = this.percent >= 100 ? 0 : this.percent + 10
},
},
}
</script>
# Props
| خاصية | الوصف | النوع | الافتراضي |
|---|---|---|---|
| percentage | نسبة التقدّم 0-100 (تُحصر تلقائياً عند تجاوزها) | number | — |
| type | النوع | 'line' \| 'circle' | 'line' |
| status | تلوين الحالة | 'default' \| 'success' \| 'warning' \| 'danger' | 'default' |
| color | لون شريط التقدم: سلسلة نصية أو دالة تُرجع لوناً حسب النسبة المئوية | string \| ((percentage: number) => string) | — |
| strokeWidth | سماكة الخط px (الارتفاع في line، وسماكة الخط في circle) | number | — |
| width | عرض اللوحة في الوضع الدائري px | number | — |
| showText | هل يُعرض نص التقدّم | boolean | true |
| format | تنسيق مخصّص للنص | (percentage: number) => string | — |
| sx | خصائص تخطيط سريعة عبر sx | — | — |
Copyright © 2024-2026 FengMo WenXue