Data of radio button not being saved in Postgres DB even after a success message

130 Views Asked by At

Hi so I have these radio buttons where I want to save their data as json in my Postgres db . It is not being sent I get a message.success back that says I did but when i check my db nothing happens. I don't exactly know where I am wrong so if u can help please do share. PS: Im using Ant Design vue that's where the a- come from . I do click on a button and it opens a modal where I have the radio buttons :

 <template #modalite="{ record }">
    <span>
      <a-button
        @click="showModalite(record)"
        class="btn btn-sm btn-light mr-2"
      >
        <i class="fe fe-edit mr-2" />
        Modalité 
      </a-button>
      
    </span>
  </template>

and here is my buttons code :

 <a-modal
  v-model:visible="visible"
  :width="500"
  @ok="ChangeModalite(modelInfo)"
>
 <div class="row">
     <a-radio-group name="radioGroup" v-model:value="traitement">
    <div class="col-md-6">Négociation directe</div>
    <div class="col-md-3">
      <a-radio value="Négociation directe"  v-model:checked="modalite.negociation" />
    </div>
    <div class="col-md-6">Appel à concurrence</div>
    <div class="col-md-3">
      <a-radio value="Appel à concurrence" v-model:checked="modalite.concurrence"/>
    </div>
     </a-radio-group>
  </div> 

  
</a-modal>

The script :

setup() {
const visible = ref(false)
 const traitement = ref('Négociation directe');
const modalite = ref({
  negociation:false,
  concurrence:false,
})
 const showModalite = (record) => {
  modelInfo.value = record
  modalite.value = { ...modalite.value, ...record.modalite }
  visible.value = true
}
  const ChangeModalite = (record) => {
  console.log(record.id+": "+traitement.value)

  axios.patch('/prop/' + record.id,{
    modalite:modalite.value,
  })
  .then(()=>{
    record.modalite=modalite.value
      Object.assign(
        dataSource.value.filter((item) => record.id === item.id),
        record,
      )        
    message.success(`successfully updated !!`)
    visible.value = false
  })
  .catch((e)=>{
    message.warning("smthg wrong ")
  })
}

return {
  dataSource,
  modelInfo,
  showModalite,
  ChangeModalite,
  modalite,
  traitement,

   }
  },
         }

So what happens now is i get the 'succefully updated ' msg without being really updated.where did i miss something?

1

There are 1 best solutions below

0
On

I changed the type from json to string in my db everything works fine when I changed this line :axios.patch('/prop/' + record.id,{ modalite:modalite.value, }) to this axios.patch('/prop/' + record.id,{ modalite:traitement.value, }) so yeah data gets updated, still don't know why with the json type it's not working but at least i found a way if u have an explanation or suggestion it will be appriciated .