列的显示


Bool

显示bool类型的值,第一个参数代表为true的值,第二个参数为false的值。

info.AddField("通关", "pass", db.Tinyint).FieldBool("1", "0")

复制

显示一个copy按钮。

info.AddField("UUID", "uuid", db.Varchar).FieldCopyable()

轮播

info.AddField("照片", "photos", db.Varchar).FieldCarousel(func(value string) []string {
    return strings.Split(value, ",")
}, 150, 100)

Dot

info.AddField("完成状态", "finish_state", db.Tinyint).
FieldDisplay(func(value types.FieldModel) interface{} {
    if value.Value == "0" {
        return "第一步"
    }
    if value.Value == "1" {
        return "第二步"
    }
    if value.Value == "2" {
        return "第三步"
    }
    return "未知"
}).
FieldDot(map[string]types.FieldDotColor{
    "第一步": types.FieldDotColorDanger,
    "第二步": types.FieldDotColorInfo,
    "第三步": types.FieldDotColorPrimary,
}, types.FieldDotColorDanger)

进度条

显示字段为一个进度条。可选参数:types.FieldProgressBarData

info.AddField("完成进度", "finish_progress", db.Int).FieldProgressBar()

type FieldProgressBarData struct {
    Style string  // 类型
    Size  string  // 大小
    Max   int     // 最大值
}

下载链接

如果字段为文件下载链接URL,可以显示成一个下载链接,参数为前缀,可不传。

info.AddField("简历", "resume", db.Varchar).
    FieldDisplay(func(value types.FieldModel) interface{} {
        return filepath.Base(value.Value)
    }).
    FieldDownLoadable("http://yinyanghu.github.io/files/")

文件大小

如果字段为字节大小的整数类型,可以转为kb/mb/gb等易理解的单位显示。

info.AddField("简历大小", "resume_size", db.Int).FieldFileSize()

Loading

参数的意思为:当状态为0,1,2时,显示为loading。

info.AddField("状态", "state", db.Int).FieldLoading([]string{"0", "1", "2"})

标签

显示字段为标签,可选参数为:types.FieldLabelParam

info.AddField("标签", "label", db.Varchar).FieldLabel(types.FieldLabelParam{})

type FieldLabelParam struct {
    Color template.HTML  // 颜色
    Type  string    // 类型
}

图片

如果avatar字段保存的是图片的完整地址,或者路径,可以通过下面的方式将该列渲染为图片显示

info.AddField("头像", "avatar", db.Varchar).FieldImage("50", "50")  

当然也可以为图片增加访问前缀

info.AddField("头像", "avatar", db.Varchar).FieldImage("50", "50", "https://prefix.com")