【问题标题】:NativeScript TextView :textTransform can't updateNativeScript TextView:textTransform 无法更新
【发布时间】:2019-10-24 06:19:42
【问题描述】:

我正在使用带有 Vue.js 的 NativeScript。我在 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>

当我点击 Make uppercase 按钮时,属性 upperCaseText"none" 更改 改为 “大写”,但 TextView 未注册该更改,并且显示的文本未更改。

我试图从 ns "dom" 更改 upperCaseText 属性,尝试以某种方式触发 TextView 上的事件并“告诉“有些事情发生了变化,但没有成功。

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

为什么会这样?为什么 fontSize 没有问题,而 textTransform 却不行?以及如何让它发挥作用?

【问题讨论】:

    标签: android nativescript nativescript-vue


    【解决方案1】:

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

    TextField 和 TextView (Android)

    在这些控件上设置 text-transform 属性不会改变 里面的文字。如果你想转换你应该做的文本 在将其设置为 text 属性之前。

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

    【讨论】:

    • 感谢您的快速响应。但由于其他一些原因,我不能使用 Label。将从您发布的链接中阅读此问题。仍然希望找到让它发挥作用的方法。
    • 更改 text-transform 后重置 text 属性可能会起作用 或者您可以创建一个新的 TextView,删除旧的。
    猜你喜欢
    • 1970-01-01
    • 2019-04-07
    • 1970-01-01
    • 1970-01-01
    • 2020-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多