各位大神: 纠结半天的问题了,求助:
框架是 ant-design 想实现的效果: 在 modal 中有一个 form,想在填写 userNo 的时候,ajax 去查看是否有重复的工号 相关的 modal 部分:
function onValueChange(props, value) {
let {user_no}=value;
if (user_no) {
props.OnValidateUserNo(user_no);
}
}
export default Form.create({onValuesChange: onValueChange})(modal)
视图中,model 作为一个子组件放在 User 中:
const UserModalGen = () =>
<UserModal {...userModalProps} />
return (
<div className='content-inner'>
<UserSearch {...userSearchProps} />
<UserList {...userListProps} />
<UserModalGen />
</div>
)
OnValidateUserNo 方法就在 userModalProps 中传进去的. 具体:
const userModalProps = {
item: modalType === 'create' ? {} : currentItem,
type: modalType,
visible: modalVisible,
user_no_validating: user_no_validating,
OnValidateUserNo({value}){
dispatch({
type: 'users_validate/validate_user_no',
payload: {user_no: value}
})
},
}
对应的:reducer 和 effects:
effects: {
*validate_user_no({payload}, {select, call, put}){
yield put({type: 'showValidating'})
console.warn(payload)
}
},
reducers: {
showValidating (state) {
return {...state, user_no_validating: "validating"};
},
}
` 就在这个地方,一旦 return 出去新的 state,Modal 就会关掉重开一次,state 不变的情况下,modal 怎么会被重新渲染呢??,检查过 modal 的显示和隐藏 state 始终没变过.
求指教啊啊...
1
peachplum OP 好吧 还是自己解决了
|
2
henshang 2018-11-29 14:31:18 +08:00
你怎么解决的,我也碰到了这个问题
|