动态输入在初始加载时不隐藏输入
dynamic input not hide input at initial load
我是 vue 2.5 的新手,当用户点击 v-select 时遇到问题
我可以动态输入,但我的问题是,当页面加载(最初)时,我想隐藏输入,即只有当用户点击 v-select 任何选项
时,输入才应该可见
<v-select v-model="selected" :on-change="addRow" :options="['foo','bar']"></v-select>
<div class="input-group" v-for="field in fields" v-if="fields.length > 1">
<input type="text" v-model="field.sensitive">
</div>
<button type="submit" class="btn btn-sm btn-primary" @click.prevent="change"><i class="fa fa-dot-circle-o"></i> Submit</button>
export default {
name: 'List Purches',
data(){
return{
selected :'foo',
fields: []
}
},
methods:{
addRow: function() {
this.fields.push({ });
},
change(){
console.log(this.field.sensitive)//this not work i.e it dynamic input value
//here how i get value of dynamic input
}
}
}
第二个问题是我将如何在更改函数上获得动态输入值,因为 v-model 不适用于动态输入
on-change 将在初始加载时触发 如果 它有一个初始值: https://github.com/sagalbot/vue-select/issues/345
建议:为了防止触发,只需将数据中使用selected: null,
的初始值去掉即可。
Second problem is... values not changing.
既然要<input type="text" v-model="field.sensitive">
,那么push的时候在v-model
中声明要使用的字段:
this.fields.push({sensitive: null});
演示:
Vue.component('v-select', VueSelect.VueSelect);
new Vue({
el: "#app",
name: 'List Purches',
data() {
return {
selected: null,
fields: []
}
},
methods: {
addRow: function() {
this.fields.push({sensitive: null});
},
change() {
console.log(this.field.sensitive) //this not work i.e it dynamic input value
//here how i get value of dynamic input
}
}
});
<script src="https://unpkg.com/vue"></script>
<script src="https://unpkg.com/vue-select@latest"></script>
<br><br>
<div id="app">
<v-select v-model="selected" :on-change="addRow" :options="['foo','bar']"></v-select>
<hr>
<div class="input-group" v-for="field in fields">
<input type="text" v-model="field.sensitive"> {{ field.sensitive }}
</div>
<button type="submit" class="btn btn-sm btn-primary" @click.prevent="change">
<i class="fa fa-dot-circle-o"></i>Submit
</button>
</div>
我是 vue 2.5 的新手,当用户点击 v-select 时遇到问题 我可以动态输入,但我的问题是,当页面加载(最初)时,我想隐藏输入,即只有当用户点击 v-select 任何选项
时,输入才应该可见 <v-select v-model="selected" :on-change="addRow" :options="['foo','bar']"></v-select>
<div class="input-group" v-for="field in fields" v-if="fields.length > 1">
<input type="text" v-model="field.sensitive">
</div>
<button type="submit" class="btn btn-sm btn-primary" @click.prevent="change"><i class="fa fa-dot-circle-o"></i> Submit</button>
export default {
name: 'List Purches',
data(){
return{
selected :'foo',
fields: []
}
},
methods:{
addRow: function() {
this.fields.push({ });
},
change(){
console.log(this.field.sensitive)//this not work i.e it dynamic input value
//here how i get value of dynamic input
}
}
}
第二个问题是我将如何在更改函数上获得动态输入值,因为 v-model 不适用于动态输入
on-change 将在初始加载时触发 如果 它有一个初始值: https://github.com/sagalbot/vue-select/issues/345
建议:为了防止触发,只需将数据中使用selected: null,
的初始值去掉即可。
Second problem is... values not changing.
既然要<input type="text" v-model="field.sensitive">
,那么push的时候在v-model
中声明要使用的字段:
this.fields.push({sensitive: null});
演示:
Vue.component('v-select', VueSelect.VueSelect);
new Vue({
el: "#app",
name: 'List Purches',
data() {
return {
selected: null,
fields: []
}
},
methods: {
addRow: function() {
this.fields.push({sensitive: null});
},
change() {
console.log(this.field.sensitive) //this not work i.e it dynamic input value
//here how i get value of dynamic input
}
}
});
<script src="https://unpkg.com/vue"></script>
<script src="https://unpkg.com/vue-select@latest"></script>
<br><br>
<div id="app">
<v-select v-model="selected" :on-change="addRow" :options="['foo','bar']"></v-select>
<hr>
<div class="input-group" v-for="field in fields">
<input type="text" v-model="field.sensitive"> {{ field.sensitive }}
</div>
<button type="submit" class="btn btn-sm btn-primary" @click.prevent="change">
<i class="fa fa-dot-circle-o"></i>Submit
</button>
</div>