Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
155 views
in Technique[技术] by (71.8m points)

javascript - Vuejs How to assign value to select options

In my vue-application I want to assign some values from an xls-file to some options in a select.

<tr v-for="header in fileHeaders" :key="header">
   <td>{{header}}</td>
   <td>
     <select class="form-control" v-model="selectedField" v-on:change="setField">
        <option selected>Choose option</option>
        <option value="company_name">Company name</option>
        <option value="address">Address</option>
        <option value="zipcode">Zipcode</option>
        <option value="city">City</option>
        <option value="email">Email</option>
        <option value="number">Phonenumber</option>
        <option value="contact_person">Contact person</option>
        <option value="cvr_number">ID</option>
    </select>
  </td>
</tr>

data() {
  return {
    fileHeaders: ['Company Name', 'Zipcode', 'City' etc.],
    selectedField: "",
    chosenFields: []
  };
}

so for each {{header}} I want to assign a specific option from the select and then I want to push an array to the backend with the assigned values but I don't really know how to achieve that or where to start...

Any ideas?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

just use chosenFields[] as v-model of select with index i of v-for. you will get selected values in chosenFields array

<tr v-for="(header,i) in fileHeaders" :key="header">
   <td>{{header}}</td>
   <td>
     <select class="form-control" v-model="chosenFields[i]" v-on:change="setField">
        <option selected>Choose option</option>
        <option value="company_name">Company name</option>
        <option value="address">Address</option>
        <option value="zipcode">Zipcode</option>
        <option value="city">City</option>
        <option value="email">Email</option>
        <option value="number">Phonenumber</option>
        <option value="contact_person">Contact person</option>
        <option value="cvr_number">ID</option>
    </select>
  </td>
</tr>
    
    data() {
      return {
        fileHeaders: ['Company Name', 'Zipcode', 'City' etc.],
        selectedField: "",
        chosenFields: []
      };
    }

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...