使用dva遇到添加功能,这里是点击添加按钮显示模态框的表单,但是关闭的时机如果在组件中使用state,就无法根据返回结果做判断(有些字段重复不能添加)。现在把显示、关闭的逻辑都写到了model中,这样做可以吗?
部分代码:
组件中:
function handleAdd() { dispatch({ type: 'user/saveAddModalVisible', payload: true }); } function handleCancel() { dispatch({ type: 'user/saveAddModalVisible', payload: false }); }<Button onClick={handleAdd}>添加</Button><Modal title="添加代理" visible={addModalVisible} onCancel={handleCancel} > <div> <Form> // ... </Form> </div></Modal>
model中:
*addChannel({ payload }, { call, put }) { const res = yield call(addChannelReq, payload); if (res.code === 200) { yield put({ type: 'saveAddModalVisible', payload: false }); message.success('添加成功'); } else { message.destroy(); message.warning(res.msg); } },
拉风的咖菲猫
米琪卡哇伊
相关分类