首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >NativeScript TextView :文本转换无法更新

NativeScript TextView :文本转换无法更新
EN

Stack Overflow用户
提问于 2019-06-10 00:31:33
回答 1查看 483关注 0票数 1

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

代码语言:javascript
复制
<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按钮时,property upperCaseText从"none“更改为"uppercase",但TextView没有注册该更改,所显示的文本也未更改。

我尝试将upperCaseText属性从ns“dom”更改为"dom",尝试以某种方式触发TextView上的事件,并“告知”某些内容发生了更改,但没有成功。

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

为什么会发生这种情况?为什么fontSize没有问题,但是textTransform不能工作?以及如何让它工作呢?

EN

回答 1

Stack Overflow用户

发布于 2019-06-10 01:08:47

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

TextField & TextView (安卓)

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

我不知道你为什么要把TextView设为只读(editable="false"),如果你不想要一个可编辑的TextView,那么你可以简单地使用一个支持动态更新文本转换的标签。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56516387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档