51 lines
1.4 KiB
Vue
51 lines
1.4 KiB
Vue
<template>
|
|
<div>
|
|
<div class="row">
|
|
<div ref="reponses" class="col">
|
|
<input v-for="(reponse, k) of reponses" v-bind:key="k"
|
|
type="text" :placeholder="__('Votre réponse')"
|
|
:v-bind="reponse" required="required" class="form-control"
|
|
:name="'reponses['+(k+1)+']'" minlength="10" :value="reponse" v-on:blur="setReponse(k, $event)">
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col">
|
|
<div role="group" aria-label="Actions" class="btn-group float-end">
|
|
<button @click="addReponse" class="btn btn-info">{{ __('Ajouter') }}</button>
|
|
<button @click="removeReponse" class="btn btn-info">{{ __('Enlever') }}</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
mounted() {
|
|
for(let reponse of JSON.parse(this.dbReponses)) {
|
|
this.reponses.push(reponse.value)
|
|
}
|
|
},
|
|
props: [
|
|
'dbReponses'
|
|
],
|
|
data() {
|
|
return {
|
|
reponses: []
|
|
}
|
|
},
|
|
methods: {
|
|
addReponse(e) {
|
|
e.preventDefault()
|
|
this.reponses.push('')
|
|
},
|
|
removeReponse(e) {
|
|
e.preventDefault()
|
|
this.reponses.pop('')
|
|
},
|
|
setReponse(key, e) {
|
|
this.reponses[key] = e.target.value
|
|
}
|
|
}
|
|
}
|
|
</script>
|