Как иметь эффект многоточия на текст
У меня длинный текст в мое приложение и мне нужно обрезать его и добавить три точки в конце.
Как я могу это сделать в React Native Text element?
спасибо
4 ответов
использовать numberOfLines
https://rnplay.org/plays/ImmKkA/edit
или если вы знаете или можете вычислить максимальное количество символов в строке, подстрока JS может быть использован.
<Text>{ ((mytextvar).length > maxlimit) ?
(((mytextvar).substring(0,maxlimit-3)) + '...') :
mytextvar }
</Text>
использовать numberOfLines
на Text
компоненты:
<Text numberOfLines={1}>long long long long text<Text>
будет:
long long long…
(предполагая, что у вас есть контейнер короткой ширины.)
использовать ellipsizeMode
параметр для перемещения многоточия в head
или middle
. tail
значение по умолчанию.
<Text numberOfLines={1} ellipsizeMode='head'}>long long long long text<Text>
будет:
…long long text
вы можете использовать ellipsizeMode и numberOfLines. е.г
<Text ellipsizeMode='tail' numberOfLines={2}>
This very long text should be truncated with dots in the beginning.
</Text>
const styles = theme => ({
contentClass:{
overflow: 'hidden',
textOverflow: 'ellipsis',
display: '-webkit-box',
WebkitLineClamp:1,
WebkitBoxOrient:'vertical'
}
})
render () {
return(
<div className={classes.contentClass}>
{'content'}
</div>
)
}