Я использую VueJS и его компоненты для создания большой серии списков данных и селекторов ... все с кнопкой отправки в конце, когда форма проверена ...
пока я могу сделатьсписок данных внутри компонента, который отображает параметры и имеет завершение типа ... отлично работает!НО, когда я попытался превратить вещь в Компонент VueJS и передать массив данных как свойство ... мой список параметров больше не отображает
Два элемента Datalist ...
Верхний - это «необработанный» список данных, который работает на 100%
Но когдаЯ перехожу к версии компонента vue.js, в качестве опции ничего не отображается ...
это просто не там, когда я наведите курсор мыши, как первыйone ...
Компонент данных VueJS
<template>
<div>
<input type="text" v-model="item" list="data_input" v-on:input="selectionChanged">
<datalist id="yourdatalist">
<option v-for="item in data_input">{{item}}</option>
</datalist>
</div>
</template>
<script>
export default {
name: 'Datalist',
props: ['inputDataList'],
data () {
return {
selection: '',
item:'',
data_input:this.inputDataList
}
},
methods: {
selectionChanged: function(element) {
console.log("selection = "+this.selection+", new value = " + element.target.value);
var newSelection = element.target.value;
if (newSelection != this.selection) {
// newSelection changes on every keystroke, so you must keep diffing it with your known data
for (var i=0; i<this.data_input.length; i++) {
if (this.data_input[i] == newSelection) {
this.selection = newSelection
console.log("selection = "+this.selection+" now");
this.$emit('selectionChanged', this.selection);
}
}
}
},
},
}
</script>
Вызывающий компонент HTML-код
<p>Examples of Datalists</p>
<input type="text" v-model="film" list="films" v-on:input="filmChanged">
<datalist id="films">
<option v-for="film in films">{{film}}</option>
</datalist>
<div v-if="focusedfilm">
<h6>You have picked {{focusedfilm}}</h6>
</div>
<br/>
<p>Examples of Child Component Datalist</p>
<Datalist :inputDataList="films"/>