import QtQuick 2.15 import FluentUI import QtQuick.Layouts FluArea { id: fileItem property string uuid property string title property string brief property string date property int pageView property var tags: [] property var notes: [] property int stars property var colorList: ["blue", "green", "orange", "red", "yellow", "purple", "pink", "brown", "teal", "cyan", "gray", "darkgray"] signal tagClicked(string tag) ColumnLayout { id: row anchors.fill: parent anchors.margins: 10 spacing: 10 ColumnLayout { id: clickable anchors.fill: parent MouseArea { anchors.fill: parent onDoubleClicked: { fileItem.parent.doubleClicked() } } FluText { id: title text: fileItem.title font{ pointSize: 12 bold: true } } FluText { id: brief text: fileItem.brief } RowLayout { id: infoRow visible: !fileItem.isDir FluText { id: date text: fileItem.date } FluText { id: pageView text: fileItem.pageView + "浏览" } FluText { id: stars text: fileItem.stars + "收藏" } } } RowLayout { visible: !fileItem.isDir Repeater { model: fileItem.tags delegate: FluTextButton { text: "#" + fileItem.tags[index] normalColor: colorList[index % colorList.length] font.pixelSize: 12 Layout.preferredWidth: 50 onClicked: { emit: tagClicked(text) } } } } } }