我正在嘗試弄清楚如何執行多行 ListElement 屬性。
我有一個 ListElements 的 ListModel,如下所示:
ListElement { key: "key"; value: 1; description: "Very long, full paragraph description that extends way off the screen which I would like to wrap in code nicely." }
我可以透過簡單地輸入換行符號來換行,但隨後的行不會與文字區塊對齊。
description: "Very long, full paragraph description that extends way off the screen which I would like to wrap in code nicely."
當我嘗試在文字上按 Tab 鍵將其對齊時,當描述列印到螢幕上時,它會導致大量空白(這是有道理的,但顯然不是我想要的)。
description: "Very long, full paragraph description that extends way off the screen which I would like to wrap nicely in code."
Very long, full paragraph description that extends way off the screen which I would like to wrap in code nicely.
我嘗試透過「 」連接,但這會產生錯誤:ListElement:無法使用腳本取得屬性值
。
我嘗試過像在 .pro 檔案中那樣使用反斜杠,但這也不起作用。
換行符可以工作,但它們並不重要,因為它們不能解決空格問題。
Very long, full paragraph description that extends way off the screen which I would like to wrap in code nicely.
如果有人有任何想法,我將不勝感激。
首先,您可以考慮使用Javascript反引號表示法來宣告多行字串。
除此之外,您可能會發現
ListElement
宣告具有限制性,不支援Javascript 表達式,例如Date.now()
.在這些情況下,您可以考慮使用命令式程式碼。如果您想要某種聲明性的外觀,您可以宣告一個 Javascript 物件陣列並對其進行迭代。渲染時,您也可以考慮使用
wrapMode: Text.Wrap
套用額外的自動換行來格式化文字。您可以線上嘗試!
對於您使用的直接建立 ListElements 的實現,我沒有直接的解決方案。但是 ListModel 的 .append() 方法確實將 JS 物件作為參數。這些支援多行字串。因此,您可以像這樣在元件完成時附加它們,而不是像這樣建立 ListElements: