Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
jiaiyan avatar

Vant Ui Skills

  • 23 installs
  • Updated March 16, 2026
  • jiaiyan/vant-ui-skills

Reference library of 102 skills for using Vant mobile UI components, theming, i18n, and mobile-first design patterns with Vue 3.

About

Provides a structured library covering Vant mobile components, composables, and foundation setup for AI agents. A developer uses it to implement Vant components, customize themes, add i18n, or build mobile web and hybrid apps.

  • 102 skills across basic, form, action, display, navigation, and business components
  • Path-based lookup for components (van-*) and Vue 3 composables (use-*)

Vant Ui Skills by the numbers

  • 23 all-time installs (skills.sh)
  • +3 installs in the week ending Aug 2, 2026 (Skillselion tracking)
  • Ranked #1,513 of 2,245 Frontend Development skills by installs in the Skillselion catalog
  • Data as of Aug 2, 2026 (Skillselion catalog sync)
npx skills add https://github.com/jiaiyan/vant-ui-skills --skill vant-ui-skills

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs23
Last updatedMarch 16, 2026
Repositoryjiaiyan/vant-ui-skills

What it does

Reference library of 102 skills for using Vant mobile UI components, theming, i18n, and mobile-first design patterns with Vue 3.

Files

components/van-action-bar/SKILL.mdMarkdownGitHub ↗

Vant Action Bar Component

Action bar component used to provide convenient interaction for page-related operations, commonly used at the bottom of product detail pages.

When to Invoke

Invoke this skill when:

  • User needs to implement a bottom action bar with icons and buttons
  • User wants to create e-commerce product detail page actions
  • User needs to add shopping cart, favorite, and buy buttons
  • User wants to show badges on action bar icons
  • User asks about action bar layout or safe area adaptation

Features

  • Icon Buttons: Support multiple icon buttons with text and badges
  • Action Buttons: Support primary, warning, and danger type buttons
  • Badge Support: Show dot or number badges on icons
  • Custom Colors: Customize icon and button colors
  • Safe Area: Automatic bottom safe area adaptation
  • Placeholder: Optional placeholder element for fixed positioning
  • Router Support: Navigate to routes or URLs

API Reference

ActionBar Props

NameDescriptionTypeDefault
safe-area-inset-bottomWhether to enable bottom safe area adaptationbooleantrue
placeholderWhether to generate a placeholder elementbooleanfalse

ActionBarIcon Props

NameDescriptionTypeDefault
textButton textstring-
iconIcon namestring-
colorIcon colorstring#323233
icon-classIcon class name`string \Array \
icon-prefixIcon className prefixstringvan-icon
dotWhether to show red dotboolean-
badgeContent of the badge`number \string`
badge-propsProps of Badge componentBadgeProps-
urlLink URLstring-
toTarget route object`string \object`
replaceWhether to replace historybooleanfalse
disabledWhether to disable iconbooleanfalse

ActionBarButton Props

NameDescriptionTypeDefault
textButton textstring-
typeButton type: default, primary, success, warning, dangerstringdefault
colorButton color, support linear-gradientstring-
iconLeft icon namestring-
disabledWhether to disable buttonbooleanfalse
loadingWhether to show loading statusbooleanfalse
urlLink URLstring-
toTarget route object`string \object`
replaceWhether to replace historybooleanfalse

ActionBarIcon Slots

NameDescription
defaultCustom text
iconCustom icon

ActionBarButton Slots

NameDescription
defaultCustom button content

Types

import type {
  ActionBarProps,
  ActionBarIconProps,
  ActionBarButtonProps,
} from 'vant';

Usage Examples

Basic Usage

<template>
  <van-action-bar>
    <van-action-bar-icon icon="chat-o" text="Chat" @click="onClickIcon" />
    <van-action-bar-icon icon="cart-o" text="Cart" @click="onClickIcon" />
    <van-action-bar-icon icon="shop-o" text="Shop" @click="onClickIcon" />
    <van-action-bar-button type="danger" text="Buy Now" @click="onClickButton" />
  </van-action-bar>
</template>

<script setup>
import { showToast } from 'vant';

const onClickIcon = () => showToast('Click Icon');
const onClickButton = () => showToast('Click Button');
</script>

Icon Badge

<template>
  <van-action-bar>
    <van-action-bar-icon icon="chat-o" text="Chat" dot />
    <van-action-bar-icon icon="cart-o" text="Cart" badge="5" />
    <van-action-bar-icon icon="shop-o" text="Shop" badge="12" />
    <van-action-bar-button type="warning" text="Add to Cart" />
    <van-action-bar-button type="danger" text="Buy Now" />
  </van-action-bar>
</template>

Custom Icon Color

<template>
  <van-action-bar>
    <van-action-bar-icon icon="chat-o" text="Chat" color="#ee0a24" />
    <van-action-bar-icon icon="cart-o" text="Cart" />
    <van-action-bar-icon icon="star" text="Collected" color="#ff5000" />
    <van-action-bar-button type="warning" text="Add to Cart" />
    <van-action-bar-button type="danger" text="Buy Now" />
  </van-action-bar>
</template>

Custom Button Color

<template>
  <van-action-bar>
    <van-action-bar-icon icon="chat-o" text="Chat" />
    <van-action-bar-icon icon="shop-o" text="Shop" />
    <van-action-bar-button color="#be99ff" type="warning" text="Add to Cart" />
    <van-action-bar-button color="#7232dd" type="danger" text="Buy Now" />
  </van-action-bar>
</template>

With Loading State

<template>
  <van-action-bar>
    <van-action-bar-icon icon="chat-o" text="Chat" />
    <van-action-bar-icon icon="cart-o" text="Cart" badge="5" />
    <van-action-bar-button 
      type="danger" 
      text="Buy Now" 
      :loading="loading"
      @click="handleBuy"
    />
  </van-action-bar>
</template>

<script setup>
import { ref } from 'vue';
import { showToast } from 'vant';

const loading = ref(false);

const handleBuy = async () => {
  loading.value = true;
  try {
    await new Promise(resolve => setTimeout(resolve, 2000));
    showToast('Purchase successful');
  } finally {
    loading.value = false;
  }
};
</script>

Best Practices

1. Use appropriate button types: Use danger for primary actions like "Buy Now", warning for secondary actions like "Add to Cart" 2. Show badges for cart items: Display the cart item count using the badge prop 3. Limit icon buttons: Keep the number of icon buttons to 3-4 for better UX 4. Safe area adaptation: Enable safe-area-inset-bottom for iOS devices 5. Loading states: Use loading prop during async operations to prevent duplicate submissions 6. Custom colors: Use brand colors for buttons to match your application theme

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.