Top Related Projects
A Vue.js 2.0 UI Toolkit for Web
🐉 Vue Component Framework
🌈 An enterprise-class UI components based on Ant Design and Vue. 🐜
:tada: A magical vue admin https://panjiachen.github.io/vue-element-admin
Lightweight UI components for Vue.js based on Bulma
BootstrapVue provides one of the most comprehensive implementations of Bootstrap v4 for Vue.js. With extensive and automated WAI-ARIA accessibility markup.
Quick Overview
iView is a high-quality UI component library for Vue.js applications. It provides a rich set of customizable and reusable components, making it easier for developers to build elegant and responsive user interfaces. iView is designed with a focus on both functionality and aesthetics, catering to various application needs.
Pros
- Comprehensive set of UI components, covering most common interface elements
- Well-documented with detailed API descriptions and examples
- Supports both Vue 2 and Vue 3 versions
- Active community and regular updates
Cons
- Learning curve for developers new to Vue.js or component libraries
- Some users report occasional performance issues with complex layouts
- Limited built-in themes, requiring additional customization for unique designs
- Larger bundle size compared to some lightweight alternatives
Code Examples
- Basic Button Usage:
<template>
<Button type="primary" @click="handleClick">Click me!</Button>
</template>
<script>
import { Button } from 'view-ui-plus'
export default {
components: { Button },
methods: {
handleClick() {
console.log('Button clicked!')
}
}
}
</script>
- Form with Input and Select:
<template>
<Form :model="formData" :rules="formRules">
<FormItem prop="name" label="Name">
<Input v-model="formData.name" placeholder="Enter your name" />
</FormItem>
<FormItem prop="city" label="City">
<Select v-model="formData.city">
<Option value="new-york">New York</Option>
<Option value="london">London</Option>
<Option value="tokyo">Tokyo</Option>
</Select>
</FormItem>
</Form>
</template>
<script>
import { Form, FormItem, Input, Select, Option } from 'view-ui-plus'
export default {
components: { Form, FormItem, Input, Select, Option },
data() {
return {
formData: {
name: '',
city: ''
},
formRules: {
name: [{ required: true, message: 'Name is required', trigger: 'blur' }],
city: [{ required: true, message: 'City is required', trigger: 'change' }]
}
}
}
}
</script>
- Modal Dialog:
<template>
<div>
<Button @click="showModal = true">Open Modal</Button>
<Modal v-model="showModal" title="Modal Title">
<p>Modal content goes here</p>
<template #footer>
<Button @click="showModal = false">Close</Button>
</template>
</Modal>
</div>
</template>
<script>
import { Button, Modal } from 'view-ui-plus'
export default {
components: { Button, Modal },
data() {
return {
showModal: false
}
}
}
</script>
Getting Started
To use iView in your Vue.js project:
- Install the package:
npm install view-ui-plus
- Import and use components in your Vue file:
<template>
<Button type="primary">Hello iView</Button>
</template>
<script>
import { Button } from 'view-ui-plus'
export default {
components: { Button }
}
</script>
- Import styles in your main.js or App.vue:
import 'view-ui-plus/dist/styles/viewuiplus.css'
Competitor Comparisons
A Vue.js 2.0 UI Toolkit for Web
Pros of Element
- Larger community and more frequent updates
- More comprehensive documentation and examples
- Better internationalization support
Cons of Element
- Steeper learning curve for beginners
- Larger file size, potentially impacting performance
Code Comparison
Element:
<el-button type="primary" @click="handleClick">
Click me
</el-button>
iView:
<Button type="primary" @click="handleClick">
Click me
</Button>
Summary
Element and iView are both popular Vue.js UI component libraries. Element offers a more extensive set of components and better documentation, making it suitable for larger projects. However, iView has a simpler API and smaller file size, which can be advantageous for smaller applications or those with strict performance requirements.
Element's larger community and more frequent updates ensure better long-term support and bug fixes. On the other hand, iView's simplicity makes it easier for beginners to get started quickly.
In terms of code, both libraries have similar syntax, with Element using the el-
prefix for its components. The choice between the two often comes down to project requirements, team familiarity, and personal preference.
🐉 Vue Component Framework
Pros of Vuetify
- Larger community and more frequent updates
- Extensive documentation and examples
- Material Design compliance out-of-the-box
Cons of Vuetify
- Larger bundle size due to comprehensive feature set
- Steeper learning curve for customization
- Opinionated design system may limit flexibility
Code Comparison
Vuetify component usage:
<template>
<v-btn color="primary" @click="handleClick">
Click me
</v-btn>
</template>
iView component usage:
<template>
<Button type="primary" @click="handleClick">
Click me
</Button>
</template>
Both libraries offer similar component APIs, but Vuetify tends to use the v-
prefix for its components. Vuetify also provides more built-in props for styling and functionality, while iView often requires custom CSS for advanced styling.
Vuetify is generally more feature-rich and adheres strictly to Material Design principles, making it ideal for projects that require a consistent, modern UI. iView, on the other hand, offers a lighter-weight alternative with more flexibility in design, but may require more custom styling and development for complex interfaces.
🌈 An enterprise-class UI components based on Ant Design and Vue. 🐜
Pros of ant-design-vue
- Larger community and more frequent updates
- More comprehensive documentation and examples
- Closer alignment with Ant Design's React components
Cons of ant-design-vue
- Steeper learning curve for developers unfamiliar with Ant Design
- Larger bundle size due to more components and features
Code Comparison
iView:
<template>
<Button type="primary" @click="handleClick">Click me</Button>
</template>
<script>
export default {
methods: {
handleClick() {
this.$Message.info('Clicked!');
}
}
}
</script>
ant-design-vue:
<template>
<a-button type="primary" @click="handleClick">Click me</a-button>
</template>
<script>
export default {
methods: {
handleClick() {
this.$message.info('Clicked!');
}
}
}
</script>
Summary
Both iView and ant-design-vue are popular Vue.js UI component libraries. iView offers a simpler API and smaller bundle size, making it easier for beginners to adopt. On the other hand, ant-design-vue provides a more extensive set of components and better documentation, which can be beneficial for larger projects. The code comparison shows that while the usage is similar, there are slight differences in component naming and method calls.
:tada: A magical vue admin https://panjiachen.github.io/vue-element-admin
Pros of vue-element-admin
- More comprehensive admin template with pre-built pages and layouts
- Includes advanced features like permission control and i18n out of the box
- Extensive documentation and examples for easier implementation
Cons of vue-element-admin
- Larger bundle size due to more included features
- Steeper learning curve for beginners due to its complexity
- Less flexibility for customization compared to iview's component-based approach
Code Comparison
vue-element-admin:
<template>
<div class="app-container">
<el-table :data="list" v-loading="listLoading" element-loading-text="Loading" border fit highlight-current-row>
<!-- Table columns -->
</el-table>
</div>
</template>
iview:
<template>
<div>
<Table :columns="columns" :data="data" :loading="loading">
<!-- Table columns -->
</Table>
</div>
</template>
The code comparison shows that vue-element-admin uses Element UI components, while iview uses its own custom components. vue-element-admin's approach is more opinionated and includes additional features like loading text, while iview's implementation is more straightforward and flexible.
Lightweight UI components for Vue.js based on Bulma
Pros of Buefy
- Built on top of Bulma CSS framework, providing a lightweight and flexible foundation
- Extensive documentation with interactive examples and playground
- Responsive design out-of-the-box, making it mobile-friendly
Cons of Buefy
- Smaller community and ecosystem compared to iView
- Fewer pre-built components and advanced features
- Less frequent updates and maintenance
Code Comparison
Buefy:
<template>
<b-field label="Name">
<b-input v-model="name"></b-input>
</b-field>
</template>
iView:
<template>
<Form-item label="Name">
<Input v-model="name" />
</Form-item>
</template>
Both libraries offer similar component structures, but Buefy uses the b-
prefix for its components, while iView uses PascalCase naming conventions. Buefy's approach aligns more closely with Vue.js best practices.
Buefy focuses on simplicity and ease of use, making it a good choice for smaller projects or those already using Bulma. iView, on the other hand, offers a more comprehensive set of components and features, making it suitable for larger, more complex applications. The choice between the two depends on project requirements, team preferences, and existing technology stack.
BootstrapVue provides one of the most comprehensive implementations of Bootstrap v4 for Vue.js. With extensive and automated WAI-ARIA accessibility markup.
Pros of Bootstrap Vue
- Larger community and more extensive documentation
- Built on the popular Bootstrap framework, offering familiarity for many developers
- Wider range of components and utilities out-of-the-box
Cons of Bootstrap Vue
- Heavier bundle size due to inclusion of Bootstrap CSS
- Less customizable design compared to iView's more flexible theming options
- Steeper learning curve for developers unfamiliar with Bootstrap
Code Comparison
Bootstrap Vue example:
<template>
<b-button variant="primary" @click="handleClick">
Click me
</b-button>
</template>
iView example:
<template>
<Button type="primary" @click="handleClick">
Click me
</Button>
</template>
Both libraries offer similar component-based structures, but Bootstrap Vue uses the b-
prefix for its components, while iView uses PascalCase component names. Bootstrap Vue also utilizes Bootstrap's class-based styling system, whereas iView relies more on props for customization.
Bootstrap Vue is ideal for projects that require a robust, well-documented UI framework with a large community. iView, on the other hand, offers a lighter-weight solution with more flexibility in design customization, making it suitable for projects that need a unique look and feel.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
iView
A high quality UI Toolkit built on Vue.js.
Docs
Features
- Dozens of useful and beautiful components.
- Friendly API. It's made for people with any skill level.
- Extensive documentation and demos.
- It is quite beautiful.
- Supports both Vue.js 2 and Vue.js 1.
Who's using iView
- TalkingData è ¾äºå¤©ä¸
- Alibaba é¿éå·´å·´
- Baidu ç¾åº¦
- Tencent è ¾è®¯
- Toutiao ä»æ¥å¤´æ¡
- JD 京ä¸
- DiDi æ»´æ»´
- Meituan ç¾å¢
- Sina æ°æµª
- iFLYTEK ç§å¤§è®¯é£
- LY åç¨èºé¾
If your company or products use iView, welcome to click here to leave a message.
Install
We provide an iView plugin for Vue CLI 3, which you can use to quickly build an iView-based project.
We also provide a starter kit iview-project for you.
Install iView
Using npm:
npm install iview --save
Using a script tag for global use:
<script type="text/javascript" src="iview.min.js"></script>
<link rel="stylesheet" href="dist/styles/iview.css">
You can find more info on the website.
Usage
<template>
<Slider v-model="value" range />
</template>
<script>
export default {
data () {
return {
value: [20, 50]
}
}
}
</script>
Using css via import
:
import 'iview/dist/styles/iview.css';
Compatibility
- Supports Vue.js 2.x
- Supports Vue.js 1.x - visit 1.0 docs
- Supports SSR
- Supports Nuxt.js
- Supports TypeScript
- Supports Electron
- Most components and features support IE9 and above browsers, some components and features do not support IE
Community
If you want to contribute or have questions or bugs to report:
Questions: Find other users at the Gitter chat or post on StackOverflow using [iview-ui]
tag
Bugs: File a issue here - please provide a example so we can help you better
Contribute: Contact us in Gitter chat, WeChat or via mail to iview@tendcloud.com
. PRs welcome!
Major Contributors
Name | Avatar | Name | Avatar | Name | Avatar |
---|---|---|---|---|---|
Aresn | jingsam | rijn | |||
lcx960324 | GITleonine1989 | huixisheng | |||
Sergio Crisostomo | lison16 | Xotic750 | |||
huanghong1125 | yangdan8 |
Ecosystem Links
License
Copyright (c) 2016-present, TalkingData
Top Related Projects
A Vue.js 2.0 UI Toolkit for Web
🐉 Vue Component Framework
🌈 An enterprise-class UI components based on Ant Design and Vue. 🐜
:tada: A magical vue admin https://panjiachen.github.io/vue-element-admin
Lightweight UI components for Vue.js based on Bulma
BootstrapVue provides one of the most comprehensive implementations of Bootstrap v4 for Vue.js. With extensive and automated WAI-ARIA accessibility markup.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot