现在的需求就是在每个table渲染的列里边渲染每一个,改一个值的话,就给后端传改的那个值,
在这里插入图片描述
如果改一个值的话,就传一个,改几个传几个,现在的方法就是先给一个空字符串,改一个就把值赋值到那个空字符串中。

<template slot="handleResult" slot-scope="text, record">
  <a-radio-group v-model="record.dataStatus" @change="onChangeRadio">
    <a-radio :style="radioStyle" :value="0">立即完成整改</a-radio>
    <a-radio :style="radioStyle" :value="2">限时完成整改</a-radio>
  </a-radio-group>
</template>
 onChangeRadio(e) {
   // console.log('radio checked', e.target.value)
   let arrData = '';
   this.dataSource.forEach((item) => {
     arrData += item.dataStatus + ',';
   })
   this.arrData = arrData.slice(0, -1);
   console.log('arr',arrData)
 },

还有一个问题是如果后端传的值是字符串的话,那就需要给一个对象里边添加一个值check就是添加的值

<template slot="ckResult" slot-scope="text, record">
 <a-radio-group
   :default-value="Number(record.ckResult)"
   v-model="record.check"
   @change="onChangeRadiockResult(record,text)"
 >
   <a-radio :style="radioStyle" :value="0">符合</a-radio>
   <a-radio :style="radioStyle" :value="1">不符合</a-radio>
   <a-radio :style="radioStyle" :value="2">不适用</a-radio>
 </a-radio-group>
</template>
// 改变的时候把值赋给这个值
  onChangeRadiockResult(record, index) {
    this.dataSource[index].check = record.check
  },
  // 如果在自带的改变事件里边改变值的话,就只会给一个改变,所以点击确定的时候再给后端传值,
 let strData = '';
this.dataSource.forEach((item) => {
 if (!item.check) {
   item.check = item.ckResult;
 }
 strData += item.check + ',';
})
// slice去除最后一个逗号
this.strData = strData.slice(0, -1);
Logo

前往低代码交流专区

更多推荐