Может быть массив объектов или массив строк. При использовании объектов будет искать поле текста и значения. Это можно изменить с помощью item-text и item-value свойств.
vuex:
getters: {
productsAutocomplete: state => {
return state.products.map(product => ({ text: product.name, value: product.id }));
}
}
state = {
value: '',
isActive: false,
// другие стейты
};
<input type="text"
className="floating-label-input"
value={this.state.name.value}
onFocus={this.handleFocus}
onBlur={this.handleBlur}
onChange={this.handleChange}
/>
handleChange = ({ target: { value } }) => this.setState({ value })
handleFocus = ({ target: { value } }) => this.setState({ isActive: true })
handleBlur = ({ target: { value } }) => {
if (value !== '') return;
this.setState({ isActive: false });
}
function Popup(obj){
var modal = $(obj.modal);
var overlay = $(obj.overlay);
this.open = function (content) {
overlay.addClass('open');
modal.addClass('open');
modal.html(content);
}
overlay.on('click', function () {
overlay.removeClass('open'); // и сразу никаких проблем с контекстом :)
modal.removeClass('open');
});
}
Судя по примерам и звездам на гитхабе самые лучшие решения из либ - vee-validate и vuelidate
Сам ими плотно не пользовался, так как из-за особенностей продуктовых задач было проще написать свое конкретное решение валидации :)