fix: confirm throw error & renderEmpty error
							parent
							
								
									df83968de4
								
							
						
					
					
						commit
						d7c4377551
					
				|  | @ -1 +1 @@ | |||
| Subproject commit 51cd1e3aea790432b220a7233ba189899438f031 | ||||
| Subproject commit 568de59ace46dcb555a5728153f69482b2732515 | ||||
|  | @ -25,7 +25,7 @@ describe('ConfigProvider', () => { | |||
|         ); | ||||
|       }, | ||||
|     }); | ||||
|     expect(wrapper.find({ name: 'Wave' }).vm.csp).toBe(csp); | ||||
|     expect(wrapper.findComponent('Wave').vm.csp).toBe(csp); | ||||
|   }); | ||||
| 
 | ||||
|   it('autoInsertSpaceInButton', () => { | ||||
|  | @ -39,6 +39,6 @@ describe('ConfigProvider', () => { | |||
|       }, | ||||
|     }); | ||||
| 
 | ||||
|     expect(wrapper.find({ name: 'AButton' }).text()).toBe('确定'); | ||||
|     expect(wrapper.findComponent('AButton').text()).toBe('确定'); | ||||
|   }); | ||||
| }); | ||||
|  |  | |||
|  | @ -27,18 +27,13 @@ const ConfigProvider = { | |||
|     pageHeader: PropTypes.object, | ||||
|     transformCellText: PropTypes.func, | ||||
|   }, | ||||
|   setup(props) { | ||||
|     const configProvider = reactive({ | ||||
|       ...props, | ||||
|       getPrefixCls: undefined, | ||||
|       renderEmpty: undefined, | ||||
|     }); | ||||
|     provide('configProvider', configProvider); | ||||
|     return { configProvider }; | ||||
|   }, | ||||
|   created() { | ||||
|     this.configProvider.getPrefixCls = this.getPrefixCls; | ||||
|     this.configProvider.renderEmpty = this.renderEmpty; | ||||
|     this.configProvider = reactive({ | ||||
|       ...this.$props, | ||||
|       getPrefixCls: this.getPrefixCls, | ||||
|       renderEmpty: this.renderEmptyComponent, | ||||
|     }); | ||||
|     provide('configProvider', this.configProvider); | ||||
|   }, | ||||
|   watch: { | ||||
|     ...getWatch([ | ||||
|  |  | |||
|  | @ -46,13 +46,10 @@ const LocaleProvider = { | |||
|       }, | ||||
|     }; | ||||
|   }, | ||||
|   created() { | ||||
|     provide('localeData', this.$data); | ||||
|   }, | ||||
|   watch: { | ||||
|     locale(val) { | ||||
|       this.antLocale = { | ||||
|         ...this.locale, | ||||
|         ...val, | ||||
|         exist: true, | ||||
|       }; | ||||
|       setMomentLocale(val); | ||||
|  | @ -60,6 +57,7 @@ const LocaleProvider = { | |||
|     }, | ||||
|   }, | ||||
|   created() { | ||||
|     provide('localeData', this.$data); | ||||
|     const { locale } = this; | ||||
|     setMomentLocale(locale); | ||||
|     changeConfirmLocale(locale && locale.Modal); | ||||
|  |  | |||
|  | @ -6,8 +6,6 @@ import Omit from 'omit.js'; | |||
| 
 | ||||
| export default function confirm(config) { | ||||
|   const div = document.createElement('div'); | ||||
|   const el = document.createElement('div'); | ||||
|   div.appendChild(el); | ||||
|   document.body.appendChild(div); | ||||
|   let currentConfig = { ...Omit(config, ['parentContext']), close, visible: true }; | ||||
| 
 | ||||
|  | @ -25,7 +23,7 @@ export default function confirm(config) { | |||
|   } | ||||
|   function destroy(...args) { | ||||
|     if (confirmDialogInstance && div.parentNode) { | ||||
|       confirmDialogInstance.unmount(div); | ||||
|       confirmDialogInstance.vIf = false; // hack destroy
 | ||||
|       confirmDialogInstance = null; | ||||
|       div.parentNode.removeChild(div); | ||||
|     } | ||||
|  | @ -47,14 +45,14 @@ export default function confirm(config) { | |||
|     return createApp({ | ||||
|       parent: config.parentContext, | ||||
|       data() { | ||||
|         return { confirmDialogProps }; | ||||
|         return { confirmDialogProps, vIf: true }; | ||||
|       }, | ||||
|       render() { | ||||
|         // 先解构,避免报错,原因不详
 | ||||
|         const cdProps = { ...this.confirmDialogProps }; | ||||
|         return <ConfirmDialog {...cdProps} />; | ||||
|         return this.vIf ? <ConfirmDialog {...cdProps} /> : null; | ||||
|       }, | ||||
|     }).mount(el); | ||||
|     }).mount(div); | ||||
|   } | ||||
| 
 | ||||
|   confirmDialogInstance = render(currentConfig); | ||||
|  |  | |||
|  | @ -45,7 +45,6 @@ import './transfer/style'; | |||
| import './tree/style'; | ||||
| import './upload/style'; | ||||
| import './layout/style'; | ||||
| import './form/style'; | ||||
| import './anchor/style'; | ||||
| import './list/style'; | ||||
| import './carousel/style'; | ||||
|  | @ -59,5 +58,5 @@ import './statistic/style'; | |||
| import './result/style'; | ||||
| import './descriptions/style'; | ||||
| import './page-header/style'; | ||||
| import './form-model/style'; | ||||
| import './form/style'; | ||||
| // import './color-picker/style';
 | ||||
|  |  | |||
|  | @ -4,7 +4,7 @@ | |||
|   </div> | ||||
| </template> | ||||
| <script> | ||||
| import demo from '../antdv-demo/docs/comment/demo/index'; | ||||
| import demo from '../antdv-demo/docs/config-provider/demo/index'; | ||||
| 
 | ||||
| export default { | ||||
|   components: { | ||||
|  |  | |||
|  | @ -103,7 +103,16 @@ module.exports = { | |||
|   }, | ||||
|   resolve: { | ||||
|     alias: { | ||||
|       'ant-design-vue/es/locale/en_US': path.join( | ||||
|         __dirname, | ||||
|         './components/locale-provider/en_US.js', | ||||
|       ), | ||||
|       'ant-design-vue/es/locale/zh_CN': path.join( | ||||
|         __dirname, | ||||
|         './components/locale-provider/zh_CN.js', | ||||
|       ), | ||||
|       'ant-design-vue': path.join(__dirname, './components'), | ||||
| 
 | ||||
|       // vue$: 'vue/dist/vue.esm.js',
 | ||||
|     }, | ||||
|     extensions: ['.js', '.jsx', '.vue', '.md'], | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 tanjinzhou
						tanjinzhou