表格内的收音机不会刷新。 (antd + ova)

时间:2019-11-06 09:36:39

标签: javascript reactjs antd

我正在使用antd + dva制作带有表的网页。表列之一是无线电组。当我单击单选按钮时。页面不会改变。这是示例:

### components/eg.js ###

# handle
  function changeLevel(event, line) {
    let v = event.target.value;
    dispatch({
      type: 'eg/update_level',
      payload: {
        radio_v: v,
        shard_name: line.shard_name,
        server: line.server,
      },
    });
  }

# table format
  const shards_colums= [
    {
      title: 'Level',
      dataIndex: 'level',
      key: 'level',
      render: (v, line, index) => {
        return <Radio.Group onChange={(e) => changeLevel(e, line)} value={line.level}>
          <Radio value={0}>0</Radio>
          <Radio value={1}>1</Radio>
          <Radio value={2}>2</Radio>
        </Radio.Group>;
      },
    },
  ]


# table
      <Table
        columns={shards_columns}
        dataSource={config}
        pagination={false}
        bordered
      />

### models/eg.js ###
    update_level(state, { payload: { radio_v, shard_name, server } }) {
      if (shard_name.indexOf('config') !== -1) {
        for (let index = 0; index < state.config.length; index++) {
          if (state.config[index].server === server) {
            state.config[index].level = radio_v;
          }
        }
        return { ...state };
      }
    },

“ eg / update_level”将对该状态执行一些简单的操作,并且该状态已通过console.log()进行了更改。但是页面不会刷新,直到发生其他事件(例如更改某些Input)。我是前端呼叫流的新手。有人可以帮忙解释原因吗?

0 个答案:

没有答案