NativeScript TextView:textTransform无法更新

时间:2019-06-09 16:31:33

标签: android nativescript nativescript-vue

我将NativeScript与Vue.js结合使用。我在TextView中有一些文本,并且我正在尝试通过使用textTransform属性将该文本从“无”更改为“大写”。 这是我的示例代码,here来自ns游乐场

<template>
    <Page class="page">
        <ActionBar title="Home" class="action-bar" />
        <ScrollView>
            <StackLayout>
                <TextView editable="false" :fontSize="textFontSize"
                    :textTransform="upperCaseText">
                    <FormattedString>
                        <Span text="This is a text view that uses attributed text. You can use text attributes such as " />
                    </FormattedString>
                </TextView>
                <Button text="Make uppercase" @tap="toUpperCase" />
            </StackLayout>
        </ScrollView>
    </Page>
</template>
<script>
    export default {
        data() {
            return {
                upperCaseText: "none",
                textFontSize: 20
            };
        },
        methods: {
            toUpperCase() {
                this.upperCaseText = "uppercase";
                this.textFontSize = 67;
            }
        }
    };
</script>

当我单击 设为大写 按钮时,属性 upperCaseText “无”更改为更改为“大写” ,但 TextView 不会注册该更改,并且显示的文本不变。

我试图将 upperCaseText 属性从ns“ dom”更改为 TextView 并尝试以某种方式触发事件”,说有些改变,但没有成功。

有趣的是,当我尝试更改文本的 fontSize 时。没问题, fontSize 已明显更改,但 textTransform 未更改。

为什么会这样?为什么 fontSize 没问题,但 textTransform 却不起作用?以及如何使其工作?

1 个答案:

答案 0 :(得分:1)

由于Android上的限制,更新文本转换属性将不会对TextField / TextView上已设置的文本产生任何影响。可以在相关的Github issue中找到更多信息。

  

TextField和TextView(Android)

     

在这些控件上设置text-transform属性不会更改   里面的文字。如果您要转换文本,则应该执行   在将其设置为文本属性之前。

我不确定您为什么将TextView设为只读(editable =“ false”),如果您不希望使用可编辑的TextView,则可以简单地使用Label,它应支持动态更新文本转换。