Giter Site home page Giter Site logo

alanjiang / vue-select-image Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mazipan/vue-select-image

0.0 2.0 0.0 7.06 MB

✅ Vue 2.x component for selecting image from list

Home Page: https://mazipan.github.io/vue-select-image/

License: MIT License

JavaScript 68.59% Vue 24.74% CSS 6.68%

vue-select-image's Introduction

✅ Vue Select Image

Vue 2.x component for selecting image from list

License minified version downloads Travis codecov

Demo

https://mazipan.github.io/vue-select-image/

Installation

# Yarn
yarn add vue-select-image

# NPM
npm i vue-select-image --save

How to use

Import

import VueSelectImage from 'vue-select-image'
// add stylesheet
require('vue-select-image/dist/vue-select-image.css')

Register components

components: { VueSelectImage }

Register as global component

Vue.use(VueSelectImage)

Sample Array Image

[{
  id: '1',
  src: 'https://unsplash.it/200?random',
  alt: 'Alt Image 1'
}, {
  id: '2',
  src: 'https://unsplash.it/200?random',
  alt: 'Alt Image 2'
}, {
  id: '2',
  src: 'https://unsplash.it/200?random',
  alt: 'Alt Image 2',
  disabled: true
}]
Field Description
id Unique id for each image, will also set for id attribute on image DOM
src Src attribute for image
alt Alt attribute for image
disabled Image disabled, can not be select

Template

Single Selection

<vue-select-image
  :dataImages="dataImages"
  @onselectimage="onSelectImage">
</vue-select-image>

onselectimage will return emitted with parameter object image selected

Multiple Selection

<vue-select-image
  :dataImages="dataImages"
  :is-multiple="true"
  :selectedImages="initialSelected"
  @onselectmultipleimage="onSelectMultipleImage">
</vue-select-image>

onselectmultipleimage will return emitted with parameter list of object images selected

Available Props

Attribute Type Default Description
:dataImages Array [] Array of images that will be shown
:selectedImages Array [] Array of initial selected images
:isMultiple Boolean false Flag to enable multiple selection
:useLabel Boolean false Flag to enable showing alt as label
:rootClass String vue-select-image Class for root element of this component
:activeClass String --selected Class for active state, will concat with :rootClass
:h String auto Height of images, ex: '50px'
:w String auto Width of images, ex: '50px'
:limit Number 0 To set maximum images can be select

Available Events

Events Attr Return
@onselectimage Object image selected
@onselectmultipleimage Array of object image has been selected
@onreachlimit When the length of selected images reach the limit

Useful Methods (from v1.6.0)

Sometimes you need to access our internal methods via $refs, you need to know this methods:

Methods Name Use for
removeFromSingleSelected() Reset selected image in single selection mode
removeFromMultipleSelected() Remove from selected list in multiple selection mode
resetMultipleSelection(id) Reset all selected list in multiple selection mode
isExistInArray(id) Will return object image if exist, undefined if not exist

Example

Example can be found here :

Credit

Thanks for inspiration : https://github.com/rvera/image-picker

Support me

Contributing

If you'd like to contribute, head to the contributing guidelines. Inside you'll find directions for opening issues, coding standards, and notes on development.

Hope will usefull for you all.

Copyright © 2017 Built with ❤️ by Irfan Maulana

vue-select-image's People

Contributors

dependabot[bot] avatar mazipan avatar irfan-maulana-tkp avatar rbadr avatar kevinongko avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.