From aa53227bc006816a30258c6390084aa74defb4d1 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 27 十一月 2023 18:05:55 +0800
Subject: [PATCH] 2023-11-27
---
src/components/normalform/modalform/mkRadio/index.jsx | 24 +++++++++++++++++++++++-
1 files changed, 23 insertions(+), 1 deletions(-)
diff --git a/src/components/normalform/modalform/mkRadio/index.jsx b/src/components/normalform/modalform/mkRadio/index.jsx
index 088ed0e..587fef6 100644
--- a/src/components/normalform/modalform/mkRadio/index.jsx
+++ b/src/components/normalform/modalform/mkRadio/index.jsx
@@ -19,10 +19,22 @@
componentDidMount () {
MKEmitter.addListener('mkFP', this.mkFormHandle)
+ MKEmitter.addListener('mkFC', this.mkFormControl)
}
shouldComponentUpdate (nextProps, nextState) {
return !is(fromJS(this.state), fromJS(nextState))
+ }
+
+ UNSAFE_componentWillReceiveProps (nextProps) {
+ const { config } = this.state
+
+ if (!is(fromJS(config.oriOptions), fromJS(nextProps.config.oriOptions))) {
+ this.setState({
+ config: fromJS(nextProps.config).toJS(),
+ options: fromJS(nextProps.config.options).toJS()
+ })
+ }
}
componentWillUnmount () {
@@ -30,6 +42,16 @@
return
}
MKEmitter.removeListener('mkFP', this.mkFormHandle)
+ MKEmitter.removeListener('mkFC', this.mkFormControl)
+ }
+
+ mkFormControl = (type, field, value) => {
+ if (field !== this.props.config.field) return
+
+ if (type === 'input') {
+ this.setState({value})
+ this.props.onChange(value, {})
+ }
}
mkFormHandle = (field, parentId) => {
@@ -45,7 +67,7 @@
value: val
})
- this.props.onChange(val)
+ this.props.onChange(val, {})
config.linkFields && config.linkFields.forEach((m, i) => {
setTimeout(() => {
--
Gitblit v1.8.0