vue的props(数据类型为Array、Object)处理

  • 注意在 JavaScript 中对象和数组是通过引用传入的;
  • 对于一个数组(或对象)类型的 prop 来说,在子组件中改变这个数组(或对象)本身将会影响到父组件的状态。
  • 所以不可以直接操作数组(或对象)类型prop。
	export default {
		props: {
			fileList: Array       // 接收父组件传来的参数
		},
		data () {
			return {
				list: []          // 使用list来接管fileList,此时可以操作list而不会影响父组件
			}
		},
		watch: {
			fileList: {           // 监听fileList,给list赋值
				handler (val) {
					if (val) {
						this.list = val
					}
				},
				immediate: true   // 子组件加载时立即执行
			}
		},
		computed: {
			displayList () {      // 此处操作list
				return this.list.map(e => {
					return e.WLLJ || ''  
				})
			}
		}
	}
Logo

前往低代码交流专区

更多推荐