### Installation Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/category/doc.taro.md How to install and use the Category and CategoryPane components. ```APIDOC ```js import { createApp } from 'vue' import { Category, CategoryPane } from '@nutui/nutui-taro' const app = createApp() app.use(Category) app.use(CategoryPane) ``` ``` -------------------------------- ### Install Project Dependencies with pnpm Source: https://github.com/jd-opensource/nutui/blob/v4/CONTRIBUTING.md Use this command to install all project dependencies. Ensure you are using pnpm as the package manager. It's recommended to pull the latest branch and re-run this command before starting contributions. ```bash pnpm i ``` -------------------------------- ### Vue Setup Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/timedetail/doc.md Basic setup function for a Vue component using TimeSelect. ```javascript setup() { const state = reactive({ }); return { ...toRefs(state) }; } ``` -------------------------------- ### Install Steps and Step Components Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/steps/doc.taro.md Import and register the Steps and Step components from NutUI for Taro. This setup is required before using the components in your application. ```js import { createApp } from 'vue' import { Steps, Step } from '@nutui/nutui-taro' const app = createApp() app.use(Steps) app.use(Step) ``` -------------------------------- ### Install @nutui/icons-vue Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/icon/doc.en-US.md Install the icon package using npm. ```bash npm i --save @nutui/icons-vue ``` -------------------------------- ### Install ShortPassword and NumberKeyboard Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/shortpassword/doc.en-US.md Import and register the ShortPassword and NumberKeyboard components globally. Ensure you have Vue and NutUI installed. ```javascript import { createApp } from 'vue' import { ShortPassword, NumberKeyboard } from '@nutui/nutui' const app = createApp() app.use(ShortPassword) app.use(NumberKeyboard) ``` -------------------------------- ### Start Documentation and H5 Demo Source: https://github.com/jd-opensource/nutui/blob/v4/CONTRIBUTING.md Run this command to start the development server for the documentation and H5 demos. Component source code, documentation files, and demo source files are located in the `src/packages/__VUE/` directory. ```bash pnpm dev ``` -------------------------------- ### Install Dependencies Source: https://github.com/jd-opensource/nutui/blob/v4/packages/nutui-auto-import-resolver/README.zh-CN.md Install @nutui/auto-import-resolver and unplugin-vue-components using your preferred package manager. ```shell # via pnpm pnpm add @nutui/auto-import-resolver unplugin-vue-components -D ``` ```shell # via npm npm i @nutui/auto-import-resolver unplugin-vue-components -D ``` ```shell # via yarn yarn add @nutui/auto-import-resolver unplugin-vue-components -D ``` ```shell # via Bun bun add @nutui/auto-import-resolver unplugin-vue-components -D ``` -------------------------------- ### Install NutUI Source: https://context7.com/jd-opensource/nutui/llms.txt Install the H5 or Taro version of NutUI using npm. ```bash # Install H5 version npm install @nutui/nutui # Install Taro multi-platform version npm install @nutui/nutui-taro ``` -------------------------------- ### Installation Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/collapse/doc.md Import and register the Collapse and CollapseItem components for Vue.js applications. ```javascript import { createApp } from 'vue' import { Collapse, CollapseItem } from '@nutui/nutui' const app = createApp() app.use(Collapse) app.use(CollapseItem) ``` -------------------------------- ### Install Backtop Component Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/backtop/doc.taro.md Import and use the Backtop component in your Vue application. This setup is required before using the Backtop component. ```javascript import { createApp } from 'vue' import { Backtop } from '@nutui/nutui-taro' const app = createApp() app.use(Backtop) ``` -------------------------------- ### Video Player Methods Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/video/doc.md Access and control video playback through ref methods. This example shows how to get a reference to the video component instance. ```vue ``` -------------------------------- ### Install Audio Component Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/audio/doc.md Import and register the Audio component globally when using Vue. Ensure you have Vue and NutUI installed. ```js import { createApp } from 'vue' import { Audio } from '@nutui/nutui' const app = createApp() app.use(Audio) ``` -------------------------------- ### Set Initial Page Number Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/imagepreview/doc.md Configure the initial page number for the image preview using the `init-no` prop. This example sets the preview to start on the fourth image (index 3). ```vue ``` -------------------------------- ### Icon Button Example Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/button/doc.taro.md Demonstrates how to include an icon within a button. ```vue ``` -------------------------------- ### Installation Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/uploader/doc.md Import and use the Uploader component in your Vue application. ```js import { createApp } from 'vue' import { Uploader } from '@nutui/nutui' const app = createApp() app.use(Uploader) ``` -------------------------------- ### Install Icon Component Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/icon/doc.taro.md Install the @nutui/icons-vue-taro package using npm. This command adds the icon component library to your project. ```bash npm i --save @nutui/icons-vue-taro ``` -------------------------------- ### Installation Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/timedetail/doc.md Import and register the TimeSelect component for Vue or Taro projects. ```javascript import { createApp } from 'vue' // vue import { TimeSelect } from '@nutui/nutui' // taro import { TimeSelect } from '@nutui/nutui-taro' const app = createApp() app.use(TimeSelect) ``` -------------------------------- ### Installation Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/inputnumber/doc.taro.md Import and use the InputNumber component in your Vue application. ```javascript import { createApp } from 'vue' import { InputNumber } from '@nutui/nutui-taro' const app = createApp() app.use(InputNumber) ``` -------------------------------- ### Install Noticebar Component Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/noticebar/doc.en-US.md Import and use the Noticebar component in your Vue application. ```javascript import { createApp } from 'vue' import { Noticebar } from '@nutui/nutui' const app = createApp() app.use(Noticebar) ``` -------------------------------- ### Installation Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/radio/doc.taro.md Import Radio and RadioGroup components for use in your Taro Vue application. ```js import { createApp } from 'vue' import { Radio, RadioGroup } from '@nutui/nutui-taro' const app = createApp() app.use(Radio) app.use(RadioGroup) ``` -------------------------------- ### Install Input Component Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/input/doc.en-US.md Import and use the Input component in your Vue application. ```javascript import { createApp } from 'vue' import { Input } from '@nutui/nutui' const app = createApp() app.use(Input) ``` -------------------------------- ### Install Switch Component Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/switch/doc.en-US.md Import and register the Switch component with your Vue application. ```js import { createApp } from 'vue' import { Switch } from '@nutui/nutui' const app = createApp() app.use(Switch) ``` -------------------------------- ### Install List Component Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/list/doc.md Import and use the List component in your Vue application. ```javascript import { createApp } from 'vue' import { List } from '@nutui/nutui' const app = createApp() app.use(List) ``` -------------------------------- ### Install Sku Component Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/sku/doc.md Import and register the Sku component globally in your Vue application. ```js import { createApp } from 'vue' import { Sku } from '@nutui/nutui' const app = createApp() app.use(Sku) ``` -------------------------------- ### Install Skeleton Component Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/skeleton/doc.en-US.md Import and register the Skeleton component globally in your Vue application. This setup is required before using the component. ```js import { createApp } from 'vue' import { Skeleton } from '@nutui/nutui' const app = createApp() app.use(Skeleton) ``` -------------------------------- ### Basic Noticebar Usage Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/noticebar/doc.en-US.md Demonstrates the basic implementation of the Noticebar component. ```vue ``` -------------------------------- ### Install Skeleton Component Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/skeleton/doc.taro.md Import and use the Skeleton component in your Vue application for Taro. This setup is required before using the Skeleton component. ```js import { createApp } from 'vue' import { Skeleton } from '@nutui/nutui-taro' const app = createApp() app.use(Skeleton) ``` -------------------------------- ### Install Popover Component Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/popover/doc.en-US.md Import and register the Popover component globally using createApp. This setup is required before using the Popover in your application. ```javascript import { createApp } from 'vue' import { Popover } from '@nutui/nutui' const app = createApp() app.use(Popover) ``` -------------------------------- ### Install Ellipsis Component Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/ellipsis/doc.taro.md Import and register the Ellipsis component globally in your Vue application. This setup is required before using the component in your templates. ```javascript import { createApp } from 'vue' import { Ellipsis } from '@nutui/nutui-taro' const app = createApp() app.use(Ellipsis) ``` -------------------------------- ### Basic Usage of Noticebar Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/noticebar/doc.taro.md Demonstrates the basic exhibition of the Noticebar component. ```vue ``` -------------------------------- ### Basic Picker Usage Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/picker/doc.md Demonstrates the fundamental implementation of the Picker component. ```vue ``` -------------------------------- ### Customizing Sku Component with Slots Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/sku/doc.md This example demonstrates how to customize various parts of the Sku component using Vue's template slots. It shows how to override the price display, extra header information, address selection area, and the operate buttons. The example also includes the necessary setup for data fetching and event handling. ```vue ``` -------------------------------- ### Install ConfigProvider Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/configprovider/doc.taro.md Import and use the ConfigProvider component to enable global configuration for NutUI components. ```javascript import { createApp } from 'vue' import { ConfigProvider } from '@nutui/nutui-taro' const app = createApp() app.use(ConfigProvider) ``` -------------------------------- ### Video and Image Preview Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/imagepreview/doc.md This example shows how to use the ImagePreview component to display both images and videos. Provide image data via the `images` prop and video data via the `videos` prop. Each video object should contain `source` and `options` properties. ```vue ``` -------------------------------- ### Basic Usage Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/infiniteloading/doc.en-US.md Demonstrates the fundamental implementation of the InfiniteLoading component. It shows how to bind data, control the loading state, and handle the load-more event to fetch additional content. ```APIDOC ## InfiniteLoading Component ### Description This component enables infinite scrolling, automatically loading more data when the user scrolls to the bottom of the content. ### Props - **v-model** (boolean) - Required - Loading status. Controls whether the loading indicator is shown. - **has-more** (boolean) - Required - Indicates if there is more data to load. Defaults to `true`. - **threshold** (number) - Optional - The distance in pixels from the bottom of the scrollable area that triggers the `load-more` event. Defaults to `200`. - **use-capture** (boolean) - Optional - Whether to use capture mode for the scroll event listener. Defaults to `false`. - **load-more-txt** (string) - Optional - The text displayed when there is no more data to load. Defaults to `Oops, this is the bottom`. - **load-txt** (string) - Optional - The text displayed while loading more data. Defaults to `Loading...`. ### Events - **load-more** - Emitted when the user scrolls near the bottom and more data needs to be loaded. No arguments are passed. - **scroll-change** - Emitted in real-time as the scroll height changes. Passes the current scroll `height` as an argument. ### Slots - **default**: Allows for custom content to be displayed within the infinite loading area. - **loading**: Provides a slot to customize the loading text or indicator. - **loading-icon**: Enables customization of the loading icon. - **finished**: Offers a slot to display custom content when all data has been loaded. ``` -------------------------------- ### Install Swiper Component Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/swiper/doc.en-US.md Import and register the Swiper and SwiperItem components globally. Ensure you have Vue installed. ```javascript import { createApp } from 'vue' import { Swiper, SwiperItem } from '@nutui/nutui' const app = createApp() app.use(Swiper) app.use(SwiperItem) ``` -------------------------------- ### Button Size Example Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/button/doc.md Demonstrates the different button sizes: large, normal, small, and mini. ```html ``` -------------------------------- ### Countdown Control Start and Pause Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/countdown/doc.md Control the start and pause state of the countdown using the `paused` prop. ```vue ``` -------------------------------- ### Basic Usage of AddressList Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/addresslist/doc.taro.md Demonstrates the basic setup for the AddressList component, including data binding and event handling for item clicks and icon interactions. ```vue ``` -------------------------------- ### Install Navbar Component Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/navbar/doc.taro.md Import and use the Navbar component in your Vue application. Ensure you have installed the necessary packages. ```js import { createApp } from 'vue' import { Navbar } from '@nutui/nutui-taro' const app = createApp() app.use(Navbar) ``` -------------------------------- ### Install Invoice Component Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/invoice/doc.taro.md Import and use the Invoice component in your Vue application. Ensure you have installed the necessary packages. ```javascript import { createApp } from 'vue' import { Invoice } from '@nutui/nutui-taro' const app = createApp() app.use(Invoice) ``` -------------------------------- ### Install Image Component Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/image/doc.md Import and use the Image component in your Vue application. Ensure you have Vue and NutUI installed. ```javascript import { createApp } from 'vue' import { Image } from '@nutui/nutui' const app = createApp() app.use() ``` -------------------------------- ### Plain Button Example Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/button/doc.md Shows how to create a plain button using the `plain` prop. Plain buttons have colored text on a white background. ```html ``` -------------------------------- ### Button Type Example Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/button/doc.md Demonstrates the different button types available: default, primary, info, warning, danger, and success. ```html ``` -------------------------------- ### Icon Button Example Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/button/doc.md Example of a button with an icon. The icon can be placed in the default slot or a dedicated 'icon' slot. ```html ``` -------------------------------- ### Button Type Examples Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/button/doc.taro.md Demonstrates the different button types available: default, primary, info, warning, danger, and success. ```vue ``` -------------------------------- ### Basic Usage Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/infiniteloading/doc.md Demonstrates the fundamental implementation of the InfiniteLoading component, where data is loaded automatically when the user scrolls to the bottom. ```APIDOC ## InfiniteLoading Component ### Description This component automatically loads more data as the user scrolls to the bottom of the list. It's useful for displaying large datasets without overwhelming the user. ### Props - **v-model** (boolean) - Required - Controls whether to trigger the scroll loading. - **has-more** (boolean) - Required - Indicates if there is more data to load. Defaults to `true`. - **threshold** (number) - Optional - The distance from the bottom of the scrollable area that triggers the `load-more` event. Defaults to `200`. - **use-capture** (boolean) - Optional - Specifies whether to use capture mode for event listeners. Defaults to `false`. - **load-more-txt** (string) - Optional - The text displayed when there is no more data to load. Defaults to `'哎呀,这里是底部了啦'`. - **load-txt** (string) - Optional - The text displayed while loading more data. Defaults to `加载中...`. ### Events - **load-more**: Emitted when the user scrolls to the bottom and more data needs to be loaded. No specific parameters are returned. - **scroll-change**: Emitted in real-time to provide the current scroll height. The scroll height is returned as a parameter. ### Slots - **default**: Allows for custom content to be displayed within the InfiniteLoading component. - **loading**: Customizes the loading indicator displayed at the bottom while more data is being fetched. - **loading-icon**: Provides a slot to customize the loading icon. - **finished**: Enables customization of the text displayed when all data has been loaded. ``` -------------------------------- ### Icon Component Usage Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/icon/doc.taro.md Demonstrates how to use the Icon component with different names and image URLs. ```APIDOC ## Icon Component ### Description Use the `IconFont` component to display icons. The `name` prop accepts an icon name or an image URL. ### Usage ```vue ``` ``` -------------------------------- ### Control Countdown Start and Pause Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/countdown/doc.taro.md Control the countdown's start and pause state using the `paused` prop. Set `auto-start` to `false` and `time` to the desired duration in milliseconds for manual control. ```vue ``` -------------------------------- ### Step-by-Step Tour Guidance Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/tour/doc.md Set the `type` prop to 'step' to enable step-by-step navigation. The `steps` array defines the content and configuration for each step in the guide. ```vue ``` -------------------------------- ### Install Form Component Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/form/doc.md Import and register the Form and FormItem components from NutUI Vue. ```javascript import { createApp } from 'vue' import { Form, FormItem } from '@nutui/nutui' const app = createApp() app.use(Form) app.use(FormItem) ``` -------------------------------- ### IconFont Full Usage Setup Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/icon/doc.en-US.md Set up IconFont usage by importing the IconFont component and its CSS. This allows using icons by their name or URL. ```javascript import { createApp } from 'vue' import { IconFont } from '@nutui/icons-vue' import '@nutui/icons-vue/dist/style_iconfont.css' const app = createApp() app.use(IconFont) ``` -------------------------------- ### Loading Button Example Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/button/doc.md Shows a button in a loading state using the `loading` prop. This indicates an ongoing operation. ```html ``` -------------------------------- ### Install NumberKeyboard Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/numberkeyboard/doc.md Import and use the NumberKeyboard component in your Vue application. ```javascript import { createApp } from 'vue' import { NumberKeyboard } from '@nutui/nutui' const app = createApp() app.use(NumberKeyboard) ``` -------------------------------- ### Install Steps and Step Components Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/steps/doc.en-US.md Import and register the Steps and Step components globally for use in your Vue application. ```javascript import { createApp } from 'vue' import { Steps, Step } from '@nutui/nutui' const app = createApp() app.use(Steps) app.use(Step) ``` -------------------------------- ### Installation Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/divider/doc.taro.md Import and use the Divider component in your Vue application for Taro. ```javascript import { createApp } from 'vue' import { Divider } from '@nutui/nutui-taro' const app = createApp() app.use(Divider) ``` -------------------------------- ### Button Size Examples Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/button/doc.taro.md Illustrates the different button sizes: large, normal, small, and mini. ```vue ``` -------------------------------- ### Basic Usage of Sku Component Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/sku/doc.md Demonstrates how to use the Sku component for basic product selection. It fetches SKU data and handles user interactions like selecting variants and closing the modal. ```vue ``` -------------------------------- ### Install Toast Component Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/toast/doc.md Import and use the Toast component in your Vue application. ```js import { createApp } from 'vue' import { Toast } from '@nutui/nutui' const app = createApp() app.use(Toast) ``` -------------------------------- ### Installation Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/collapse/doc.taro.md Import and register the Collapse and CollapseItem components for use in your Taro Vue application. ```javascript import { createApp } from 'vue' import { Collapse, CollapseItem } from '@nutui/nutui-taro' const app = createApp() app.use(Collapse) app.use(CollapseItem) ``` -------------------------------- ### Toast Installation Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/toast/doc.taro.md Import and use the Toast component in your Vue application for Taro. ```js import { createApp } from 'vue' import { Toast } from '@nutui/nutui-taro' const app = createApp() app.use(Toast) ``` -------------------------------- ### Run Taro Demos Source: https://github.com/jd-opensource/nutui/blob/v4/CONTRIBUTING.md Commands to run Taro demos for different platforms. This includes H5, WeChat Mini Program, and other mini-programs like Alipay and Toutiao. ```bash # Taro H5 pnpm dev:h5 # Taro 微信小程序 pnpm dev:weapp # 其他小程序 pnpm dev:taro jd pnpm dev:taro alipay pnpm dev:taro tt ... ``` -------------------------------- ### Install TrendArrow Component Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/trendarrow/doc.md Import and use the TrendArrow component in your Vue application. ```js import { createApp } from 'vue' import { TrendArrow } from '@nutui/nutui' const app = createApp() app.use(TrendArrow) ``` -------------------------------- ### Basic Cascader Usage Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/cascader/doc.en-US.md Demonstrates the basic implementation of the Cascader component by passing in an options list. ```vue ``` -------------------------------- ### Install Textarea Component Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/textarea/doc.md Import and use the Textarea component in your Vue application. ```javascript import { createApp } from 'vue' import { Textarea } from '@nutui/nutui' const app = createApp() app.use(Textarea) ``` -------------------------------- ### Basic Usage of Swipe Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/swipe/doc.md Demonstrates the fundamental implementation of the Swipe component. ```vue ``` -------------------------------- ### Install Table Component Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/table/doc.taro.md Import and use the Table component in your Vue application. ```javascript import { createApp } from 'vue' import { Table } from '@nutui/nutui-taro' const app = createApp() app.use(Table) ``` -------------------------------- ### Install Swipe Component Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/swipe/doc.md Import and use the Swipe component in your Vue application. ```javascript import { createApp } from 'vue' import { Swipe } from '@nutui/nutui' const app = createApp() app.use(Swipe) ``` -------------------------------- ### Use Custom Iconfont - Method 1 Source: https://github.com/jd-opensource/nutui/blob/v4/src/packages/__VUE/icon/doc.taro.md Integrate custom icons from an iconfont service like iconfont.cn. This involves downloading the icon files, referencing the CSS in your main entry file, and then using the IconFont component with specified class names. ```bash /assets/font/demo.css /assets/font/demo_index.html /assets/font/iconfont.css /assets/font/iconfont.js /assets/font/iconfont.json /assets/font/iconfont.ttf /assets/font/iconfont.woff /assets/font/iconfont.woff2 ``` ```javascript import './assets/font/iconfont.css' ``` ```vue ```