NativeScript TextView: textTransform не может обновиться - PullRequest
1 голос
/ 09 июня 2019

Я использую NativeScript с Vue.js.У меня есть текст в TextView, и я пытаюсь изменить этот текст с «none» на «uppercase» с помощью свойства textTransform.Вот мой пример кода и здесь с 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 изменено с "none" на "uppercase" , но это изменение не зарегистрировано TextView ипредставленный текст не изменился.

Я пытался изменить свойство upperCaseText из ns "dom", пытался каким-то образом вызвать событие на TextView и «сказать», что что-то изменилось, но безуспешно.

Интересно, что при попытке изменить fontSize текста.Нет проблем, fontSize заметно изменено, но textTransform нет.

Почему это случилось?Почему с fontSize проблем нет, а с textTransform не работает?И как заставить это работать?

1 Ответ

1 голос
/ 09 июня 2019

Из-за ограничений в Android обновление свойства преобразования текста не повлияет на текст, уже установленный в TextField / TextView.Дополнительную информацию можно найти в соответствующей проблеме Github .

TextField & TextView (Android)

Установка свойства преобразования текста вэти элементы управления не изменят текст внутри них.В случае, если вы хотите преобразовать текст, вы должны сделать это перед установкой свойства text.

Я не уверен, почему вы сделали TextView доступным только для чтения (editable = "false"), есливам не нужен редактируемый TextView, тогда вы можете просто использовать метку, которая должна поддерживать динамическое обновление преобразования текста.

...