Ich möchte width: 100% - 50
tun, damit ich ein Symbol hinzufügen kann, das auf der rechten Seite 50 breit ist.Reagieren Sie natives Styling. Breite: Prozent - Nummer
Ich habe width: 100% - 20%
arbeiten mit react-native-extended-styles, aber ich sehe nicht, warum das nützlich ist, weil Sie width: '80%'
tun können. Ich kann nicht arbeiten. Gibt es einen Weg?
Versuchen Sie, das onLayout
-Ereignis zu verwenden, um die Containerbreite zu erhalten, und setzen Sie dann <autocomplete>
auf 100% - 50
der Containerbreite, aber es funktioniert nicht.
let Location = (props) => {
let locationInputElement
const blur =() => {
locationInputElement.blur()
}
let inputContainerWidth
return (
<View style={styles.formItem}>
<View
onLayout={(event) => {
inputContainerWidth = event.nativeEvent.layout.width
console.log(inputContainerWidth)
}}
<Autocomplete
data={props.autocompleteResults.predictions}...
style={{
borderRadius: 8,
backgroundColor: 'red',
alignSelf: 'stretch',
paddingLeft: 10,
position: 'relative',
...styles.label,
...styles.labelHeight,
width: inputContainerWidth - 50
}}
/>
</View>
</View>
)
}
Es 335
hat console.log, wenn es noch inputContainerWidth
aber die Breite des <autocomplete>
ist 100% console.logs.
Warum benutzen Sie nicht flexbox? –
@ ViktorSeč Flexbox kann meines Wissens nicht 50 Pixel von der vollen Breite entfernen. – BeniaminoBaggins