vue动态循环生成select的值,但是selec没有默认选中的值怎么办

select里的值是一进入页面请求数据后台返回的,但是这样子页面初始化的时候渲染出来的select默认是空的,要选了之后框里才有值,可是是想要一进来的时候框里就有一个默认值的,用selected="selected"也没用,百度上搜了一些解答很多都是说在select框用v-model,但是select框上我已经用了一个v-model绑定inputVal,这个inputVal就是select框选中的值后面要拿这个值把它传给后台,所以难道v-model可以绑定两个值吗,,想不出办法,好头疼
<div class="input_area name" v-for="(item, index) in cardlist" :key="index">

<input type="text" maxlength="10" :placeholder="item.name" v-if="item.type == '1'" v-model="item.inputVal">

<select id="" v-if="item.type == '2'" v-model="item.inputVal">
    <option v-for="(list,idx) in item.valueList" :value="list">{{list}}</option>
</select>  

</div>

阅读 4.5k
3 个回答

给inputVal设置一个初始值就行了

你data应该是一个array.循环这array创select.将后台返回的数据负值给这array项,如果是新select.重新构array的新项,push就好

你的template部分没问题,只用在从后台获得数据的时候,给绑定的inputVal赋值,页面就会有默认值。
inputVal: ' ',==> inputVal: 'aa'

 created() {
            this.cardlist = [
                { type: 1, valueList: ['aa', 'bb', 'cc'], inputVal: 'aa' },
                { type: 2, valueList: ['aa', 'bb', 'cc'], inputVal: 'bb' },
            ]
        },
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题