gpt4 book ai didi

reactjs - 如何删除抽屉导航上的阴影覆盖?

转载 作者:行者123 更新时间:2023-12-04 16:04:51 31 4
gpt4 key购买 nike

我使用抽屉导航创建了一个侧边菜单。我在后 View 上得到阴影覆盖。我想移除阴影覆盖。

这是我现在得到的。你会看到当抽屉打开时,我的 View 上覆盖了一层阴影。

enter image description here

这就是我想要的,我希望 View 在 View 上没有阴影。

enter image description here

请在下面找到我的代码,它使用抽屉导航创建了一个侧边菜单。

// Drawer.js
import React, { Component } from 'react';
import { View } from 'react-native';
import { DrawerNavigator } from 'react-navigation';
import Home from './AppNavigation';
import { SideMenu } from "./../Common/UIComponents";
import { widthScale } from "./../Common/Utils/Scaling";

export default DrawerStack = DrawerNavigator({
Home: { screen: Home },
MyAccount: { screen: () => <View /> },
MessageToBigFm: { screen: () => <View /> },
MeetTheMJs: { screen: () => <View /> },
Videos: { screen: () => <View /> },
AboutUs: { screen: () => <View /> },
ContactUs: { screen: () => <View /> },
TermsAndConditions: { screen: () => <View /> }
}, {
contentComponent: SideMenu,
drawerWidth: widthScale(320),
drawerBackgroundColor: "transparent",
style: { backgroundColor: "transparent", opacity: 0, shadowOpacity: 0, shadowColor: "transparent" }
});

侧边菜单js文件

// SideMenu.js
import React, { Component } from "react";
import { View, Text, ScrollView, Platform } from "react-native";
import { NavigationActions } from "react-navigation";
import style from "./style";
import SideMenuHeader from "./SideMenuHeader";
import { ListFlat } from "./../../UIComponents";
import SideMenuData from "./SideMenuData";
import SideMenuCell from "./SideMenuCell";
import NavigationUtil from "./../../Utils/NavigationUtil";

class SideMenu extends Component {

constructor(props) {
super(props);
this.navigateToScreenWithIndex = this.navigateToScreenWithIndex.bind(this);
this.renderItemSeperator = this.renderItemSeperator.bind(this)
}

navigateToScreenWithIndex(index) {
const routeData = SideMenuData[index];
if (!routeData) {
return null;
}
const routeKey = routeData.navigationKey;
if (routeKey === null) {
return;
}
const navigateAction = NavigationActions.reset({
index: 0,
actions: [
NavigationActions.navigate({ routeName: routeKey })
]
});
this.props.navigation.dispatch(navigateAction);
}

renderItemSeperator({ leadingItem }) {
if (leadingItem.key === 4) {
return <View style={style.seperator} />
} else {
return null;
}
}

render() {
return (
<View style={style.container}>
{Platform.OS === "ios" && <View style={style.statusBar} />}
<View style={style.listContainer}>
<ListFlat
horizontal={false}
renderHeader={() => <SideMenuHeader />}
data={SideMenuData}
CellComponent={SideMenuCell}
otherProps={{ onCellPress: this.navigateToScreenWithIndex }}
renderSeparator={this.renderItemSeperator}
/>
</View>
</View>
);
}
}

export default SideMenu;

最佳答案

我遇到过类似情况,React 的 Material UI 在显示抽屉时添加了一个“MuiBackdrop-root”类 div。这是在网络上,但 React-Native 有一个移动版本的样式组件——它可以工作。

使用 styled-components库,我使用了一个类似于下面的 CSS 属性来使用“display: none”隐藏它。您必须使用 > 直接定位元素。

像这样:

const MyDrawer = styled(Drawer)`
& > .MuiBackdrop-root {
display: none;
}
`;

希望对你有帮助!

关于reactjs - 如何删除抽屉导航上的阴影覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49232235/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com