reactnative:无法让ellipsizeMode工作

时间:2016-10-08 11:40:16

标签: javascript reactjs react-native

我试图截断我的reactnative应用程序中的文本。我决定使用“ellipsizeMode”属性,但我无法让它工作。

我写了一个问题的演示:

'use strict';

import React, { Component } from 'react';
import {
  StyleSheet,
  Text,
  View,
} from 'react-native';


export class EllipsizeModeTest extends Component {
    render() {
        return (
            <View style={styles.container}>
                <Text style={styles.text}>{'first part | '}</Text>
                <Text style={styles.text} numberOfLines={1} ellipsizeMode={'tail'}>
                    {'a text too long to be displayed on the screen'}
                </Text>
            </View>
        );
    }
}

const styles = StyleSheet.create({
    container: {
        flexDirection: 'row',
    },
    text: {
        fontSize: 20,
    }
});

现在文字没有被截断,任何想法为什么?

4 个答案:

答案 0 :(得分:9)

我有同样的问题,它足以让元素的大小绑定到一个值。因此,如果您定义宽度,或添加弹性值将起作用。

<View style={{width: 200}}><Text ellipsizeMode='tail' numberOfLines={1}></View>

答案 1 :(得分:2)

尝试将字符串分配给ellipsizeMode(删除大括号):

<Text style={styles.text} numberOfLines={1} ellipsizeMode='tail'>

答案 2 :(得分:0)

您需要在Text元素上设置宽度,以便知道何时...

const styles = StyleSheet.create({
    container: {
        flexDirection: 'row',
    },
    text: {
        fontSize: 20,
        width: 100
    }
});

Then you get this

答案 3 :(得分:-1)

尝试将宽度样式属性设置为组件

try
        {
            WebClient client1 = new WebClient();
            getLatestTextFile();
            Uri ll = new Uri("https://github.com/gitmessAround/JustText");
            StreamWriter w = File.AppendText("justText.txt");
            w.WriteLine("hello world");
            w.Close();
            client1.UploadFile(ll,"justText.txt");


            MessageBox.Show("Updated");
        }
        catch (TimeoutException ex)
        {
            MessageBox.Show("Time out\n\n" + ex);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }