2016-09-29 2 views
4

zIndex был введен недавно в React-Native, чтобы изменить положение View в стеке слоев.Принесите вид сверху Модаля, используя стиль zIndex с React-Native

Хотя, я не могу принести View поверх Modal.

Мой код выглядит следующим образом:

render() { 
    return (
    <View> 
     <Modal visible> 
     {props.children} 
     </Modal> 
     <View style={{ zIndex: 1000 }}> 
     <Text>Loading...</Text> 
     </View> 
    </View> 
); 
} 

Я предполагаю, что я мог бы прекратить использование <Modal> и создать регулярные анимированные <View>, которые ведут себя как Modal, но я предпочел бы найти другое решение.

Любая идея?

+0

Вы нашли решение? Я борюсь с той же проблемой. – Anubhav

ответ

-1

Вы должны изменить Z-индекс модальных а не один из представления (и Z-индекс стоимости 1 будет достаточно):

render() { 
    return (
    <View> 
     <Modal visible style={{ zIndex: 1 }}> 
     {props.children} 
     </Modal> 
     <View> 
     <Text>Loading...</Text> 
     </View> 
    </View> 
); 
} 

Элемент с большим Z-индекс в целом покрывает элемент с нижним (MDN docs).

EDIT:

Другим решением является изменение порядка элементов:

render() { 
    return (
    <View> 
     <View> 
     <Text>Loading...</Text> 
     </View> 
     <Modal visible> 
     {props.children} 
     </Modal> 
    </View> 
); 
} 

С помощью этого решения вам не нужно z-index, потому что модальный уже на вершине зрения.

+0

Это решение не работает. У меня есть zIndex из 1 на моем модальном и 10 на моем загрузочном представлении. – alexmngn

+0

Вы должны поменять их. Чем больше «z-index», тем выше элемент находится в иерархии представлений. Попробуйте ввести 'z-index' из 10 на ваш модальный. – Kerumen

+0

Вот что я сделал, извини, опечатка. – alexmngn

Смежные вопросы