| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 | <template>	<view class="u-collapse">		<slot />	</view></template><script>	/**	 * collapse 手风琴	 * @description 通过折叠面板收纳内容区域	 * @tutorial https://www.uviewui.com/components/collapse.html	 * @property {Boolean} accordion 是否手风琴模式(默认true)	 * @property {Boolean} arrow 是否显示标题右侧的箭头(默认true)	 * @property {String} arrow-color 标题右侧箭头的颜色(默认#909399)	 * @property {Object} head-style 标题自定义样式,对象形式	 * @property {Object} body-style 主体自定义样式,对象形式	 * @property {String} hover-class 样式类名,按下时有效(默认u-hover-class)	 * @event {Function} change 当前激活面板展开时触发(如果是手风琴模式,参数activeNames类型为String,否则为Array)	 * @example <u-collapse></u-collapse>	 */	export default {		name:"u-collapse",		props: {			// 是否手风琴模式			accordion: {				type: Boolean,				default: true			},			// 头部的样式			headStyle: {				type: Object,				default () {					return {}				}			},			// 主体的样式			bodyStyle: {				type: Object,				default () {					return {}				}			},			// 每一个item的样式			itemStyle: {				type: Object,				default () {					return {}				}			},			// 是否显示右侧的箭头			arrow: {				type: Boolean,				default: true			},			// 箭头的颜色			arrowColor: {				type: String,				default: '#909399'			},			// 标题部分按压时的样式类,"none"为无效果			hoverClass: {				type: String,				default: 'u-hover-class'			}		},		created() {			this.childrens = []		},		data() {			return {			}		},		methods: {			// 重新初始化一次内部的所有子元素的高度计算,用于异步获取数据渲染的情况			init() {				this.childrens.forEach((vm, index) => {					vm.init();				})			},			// collapse item被点击,由collapse item调用父组件方法			onChange() {				let activeItem = [];				this.childrens.forEach((vm, index) => {					if (vm.isShow) {						activeItem.push(vm.nameSync);					}				})				// 如果是手风琴模式,只有一个匹配结果,也即activeItem长度为1,将其转为字符串				if (this.accordion) activeItem = activeItem.join('');				this.$emit('change', activeItem);			}		}	}</script><style lang="scss" scoped>	@import "../../libs/css/style.components.scss";</style>
 |