一 实现的效果

在没有图片的时候添加图片的+默认不显示。

通过底部图片图标按钮进行添加图片。

二 思路

1 为底部图片图标编辑点击事件

2 通过逻辑控制隐藏或者显示子组件里面的模板内容

0 扩展知识 父组件调用子组件的方法

# 父组件中
<!-- 多图上传 --> 
		<upload-image :list="imageList" :show="showTag" ref="uploadImage" @change="changeImage" ></upload-image>
# 父组件中调用子组件的方法
		this.$refs.uploadImage.chooseImage()

1 为底部图片图标编辑点击事件

....
<!-- 多图上传 --> 
		<upload-image :list="imageList" :show="showTag" ref="uploadImage" @change="changeImage" ></upload-image>
....
<view class="iconfont icon-tupian footer-btn animated " hover-class="jello" @click="iconClickEvent('uploadImage')"></view>
....
// 底部图片点击时间
iconClickEvent(e){ 
				switch (e){
					case 'uploadImage':
					// 通过这宗方式使用子组件里面的方法。
					this.$refs.uploadImage.chooseImage()
						break;
					
				}
			},

2 通过逻辑控制隐藏或者显示子组件里面的模板内容(重点)

父组件中

# 父组件中
<!-- 多图上传 --> 
		<upload-image :list="imageList" :show="showTag" ref="uploadImage" @change="changeImage" ></upload-image>

computed:{
			showTag() {
				return this.imageList.length>0
			}
				
		},

子组件中

<template>
	<view>

		<view class="py-2" v-if="show">
      .....

....
props:{
			list:Array,
			show:{
				type:Boolean,
				default:true
			}
		},
    
# 最为核心 
为什么不直接在调用子组件的时候直接使用v-if,
因为这样子组件不加载,导致父组件无法使用子组件的方法
所以父组件只做一个参数来控制子组件的标签部分不渲染就ok,但是子组件还是要加载。

相关文章:

  • 2022-12-23
  • 2021-09-03
  • 2022-12-23
  • 2022-12-23
  • 2021-05-23
猜你喜欢
  • 2022-12-23
  • 2022-03-04
  • 2021-11-12
  • 2022-12-23
  • 2022-12-23
  • 2021-06-03
  • 2022-12-23
相关资源
相似解决方案