1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| // 将自己定义的属性和组件自身的属性解构 const { list, toggleModal, title, ModalStyle, ModalContentStyle, rightTopChildren, leftTopChildren, contentChildren, ...rest } = props
return ( // 组件自身的属性直接传给组件 <Modal onBackdropPress={toggleModal} {...rest}> // 自己定义的属性可以加一层判断 <View style={ModalStyle ? ModalStyle : styles.modal}> <View style={styles.leftCom}> { leftTopChildren } </View> <View style={styles.rightCom}> { rightTopChildren ? rightTopChildren : <Icon name='closecircle' color="#dcdcdc" size={16} onPress={toggleModal}></Icon> } </View>
<Text style={styles.title}>{title}</Text>
<View style={ModalContentStyle ? ModalContentStyle : styles.modalContent}> { contentChildren ? contentChildren : list?.map((item, index) => { return ( <View style={styles.modalItem} key={index}> <Icon name={item.icon} size={40} color={item.color} onPress={item.handle}></Icon> <Text style={styles.modalItemTitle}>{item.title}</Text> </View> ) }) } </View> </View> </Modal> )
|