Программная настройка цвета «Span» не работает в FormattedString для метки в NativeScript Vue - PullRequest
0 голосов
/ 05 октября 2019

Я пытаюсь использовать программный способ установки текста метки с помощью FormattedString, так как мне нужно иметь разные цвета текста в выходном тексте.

Я пытаюсь изменить цвет переднего плана диапазона, но это не такКажется, не работает. Кто-нибудь знает какой-либо другой способ достижения того же или может указать, что мне здесь не хватает?

Пожалуйста, найдите Игровую площадку с кодом .

Фрагмент кода:

createFormattedString(stringsToFormat) {
stringsToFormat = stringsToFormat ?
    stringsToFormat :
    [{
            text: "It's going to be ",
            type: "normal"
        },
        {
            text: "sunny",
            type: "orange"
        },
        {
            text: " today!",
            type: "normal"
        }
    ];

const formattedString = require("text/formatted-string");
const formattedSpan = require("text/span");
const ColorModule = require("tns-core-modules/color");
let fstringToSend = new formattedString.FormattedString();

stringsToFormat.forEach((currentStrFragment, idx) => {
    let fspan = new formattedSpan.Span();
    fspan.text = currentStrFragment.text;
    fspan.color = new ColorModule.Color(
        "#FFFFFF");
    switch (currentStrFragment.type) {
        case "normal":
            //fspan.color = "black";
            break;
        case "orange":
            console.log("ORANGE setting anything");

            // fspan.class = "orange-text";
            break;
        default:
            console.log("Not setting anything");
            break;
    }
    fstringToSend.spans.push(fspan);
});
return fstringToSend;
}

Снимок экрана: (текст по-прежнему черный):

enter image description here

1 Ответ

0 голосов
/ 05 октября 2019

Я нашел обходной путь для программной настройки formattedText:

https://play.nativescript.org/?template=play-vue&id=U5EbLY&v=3

Любые другие способы приветствуются!

...