iview Table中switch值无法刷新问题

table中含有switch的一列

 	   {
          title: lang.testpaper_status,
          align: 'center',
          width: 120,
          render: (h, params) => {
            let t = this
            return h(
              'i-switch',
              {
                props: {
                  size: 'large',
                  value: params.row.testpaperStatus === 1
                },
                on: {
                  'on-change': status => {
                    params.row.testpaperStatus = 1
                    //修改试卷状态的接口,并重新给table的data赋值的方法 
                    t.testpaperStatus(params.row.id, status ? 1 : 0)
                  }
                }
              },
              [
                h('span', {
                  slot: 'open',
                  domProps: {
                    innerHTML: '发布'
                  }
                }),
                h('span', {
                  slot: 'close',
                  domProps: {
                    innerHTML: '草稿'
                  }
                })
              ]
            )
          }
        }

iview Table中switch值无法刷新问题_第1张图片
1,修改试卷状态为草稿->发布
2,switch组件默认事件变为发布
3,testpaperStatus()由于某种原因修改试卷状态失败,返回数据
4,重新给table的data赋值。
返回的值还是草稿,但是switch状态还是发布
解决方法:
由于返回的值与原始值一致,需要手动给switch赋一个值,(这个值需要与返回的值不一致)
params.row.testpaperStatus = 1

			on: {
                  'on-change': status => {
                    params.row.testpaperStatus = 1
                    t.testpaperStatus(params.row.id, status ? 1 : 0)
                  }
                }

iview Table中switch值无法刷新问题_第2张图片

你可能感兴趣的:(iview)