Convert Figma logo to code with AI

iview logoiview

A high quality UI Toolkit built on Vue.js 2.0

23,961
4,141
23,961
1,225

Top Related Projects

54,105

A Vue.js 2.0 UI Toolkit for Web

39,623

🐉 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

9,547

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

  1. 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>
  1. 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>
  1. 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:

  1. Install the package:
npm install view-ui-plus
  1. 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>
  1. Import styles in your main.js or App.vue:
import 'view-ui-plus/dist/styles/viewuiplus.css'

Competitor Comparisons

54,105

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.

39,623

🐉 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.

9,547

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 Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

iView

A high quality UI Toolkit built on Vue.js.

iView NPM downloads NPM downloads JS gzip size CSS gzip size Join the chat at https://gitter.im/iview/iview Backers on Open Collective Sponers on Open Collective

Docs

3.x | 2.x | 1.x

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

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

NameAvatarNameAvatarNameAvatar
Aresnjingsamrijn
lcx960324GITleonine1989huixisheng
Sergio Crisostomolison16Xotic750
huanghong1125yangdan8

Ecosystem Links

License

MIT

Copyright (c) 2016-present, TalkingData

NPM DownloadsLast 30 Days