项目作者: lpreterite

项目描述 :
typeahead component for iview
高级语言: JavaScript
项目地址: git://github.com/lpreterite/iview-typeahead-input.git
创建时间: 2017-05-03T02:30:48Z
项目社区:https://github.com/lpreterite/iview-typeahead-input

开源协议:MIT License

下载


iview-typeahead-input

typeahead component for iview by vue-typeahead

How to use

setup

  1. npm install lpreterite/iview-typeahead-input

use

  1. import Vue from 'vue';
  2. import TypeaheadInput from 'iview-typeahead-input';
  3. import 'iview/dist/styles/iview.css';
  4. import axios from 'axios';
  5. Vue.prototype.$http = axios;
  6. Vue.component('TypeaheadInput', TypeaheadInput);
  7. var vm = new Vue({
  8. el: '#app',
  9. data: function(){
  10. return {
  11. src: '//localhost:8080/typeahead',
  12. input: '',
  13. selection: {
  14. id: 0,
  15. name: ''
  16. }
  17. }
  18. },
  19. methods: {
  20. convent(data){
  21. return data;
  22. }
  23. }
  24. })

template

  1. <div id="app">
  2. <typeahead-input
  3. ref="typeahead"
  4. :src="src"
  5. placeholder = 'something...'
  6. :limit = '20'
  7. :minChars = '2'
  8. :autocomplete = 'true'
  9. :paramName="keywords"
  10. :itemTitleKey="name"
  11. :selectedFirst="false"
  12. :convent="convent"
  13. v-model="input"
  14. @changed="selection = arguments[0]"
  15. ></typeahead-input>
  16. </div>

props

src: 数据源url

limit: 显示item最大数

minChars: 响应字符数,输入字符超出时才响应请求

autocomplete: 自动补全

paramName: 请求时的字段名称,默认keywords(?keywords=xxx)

itemTitleKey: item显示字段,默认name

selectedFirst: 自动选择第一个,默认true

convent: 请求后的数据处理方法,可选

v-model: 绑定输入框内容

methods

clear() 清除当前状态

attr

isEmpty: 输入空是否为空

isDirty: 用于判断是否已选择

hasItems: 用于判断是否有数据返回

attr example

  1. {
  2. ...
  3. methods: {
  4. test(){
  5. console.log(this.refs.typeahead.isDirty);
  6. }
  7. }
  8. ...
  9. }

Build

  1. npm i
  2. npm run build

Test

  1. npm i
  2. npm run mock
  3. npm run dev