Giter VIP home page Giter VIP logo

Comments (1)

idealatom avatar idealatom commented on May 20, 2024 1

Можно сделать свой компонент-обёртку над el-autocompete:

<template>
    <el-autocomplete
        v-model="localValue"
        @select="handleSelect"
        :fetch-suggestions="fetchSuggestions"
        :trigger-on-focus="false"/>
</template>

<script>
const BASE_URL = 'https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest'
const API_KEY = "XXXXXXXXXXXXXXXXXXXXXXXXX"

export default {
    props: {
        value: String,
        type: {
            type: String,
            required: true,
            validator: function (value) {
                const values = ['fio', 'address', 'party', 'bank', 'email']
                return values.includes(value)
            },
        }
    },
    computed: {
        localValue: {
            get() {
                return this.value
            },
            set(value) {
               this.$emit('input', value);
            }
        },
    },
    methods: {
        async fetchSuggestions(query, callback) {
            const api_url = `${BASE_URL}/${this.type}`
            const headers = {
                'Authorization': `Token ${API_KEY}`,
                'Accept': 'application/json',
                'Content-Type': 'application/json',
            }
            let res = await this.$axios.$post(api_url, {query: query}, {headers: headers})
            callback(res.suggestions)
        },
        handleSelect(value) {
            this.$emit('select', value)
        }
    },
};
</script>

И затем использовать его как обычный el-autocomplete, но с указанием типа из возможных ['fio', 'address', 'party', 'bank', 'email']:

<app-dadata-autocomplete v-model="address" type="address" :select-when-unmatched="true"/>

from vue-suggestions.

Related Issues (10)

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.