• 最新
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
  • 太微中文教程
  • 新插件投票看板
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
太微中文论坛icon

太微中文论坛

求助,使用get[filedName]获取字段信息的时候,如何嵌套

已定时 已固定 已锁定 已移动 讨论
3 帖子 1 发布者 130 浏览
    • 从旧到新
    • 从新到旧
    • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 光 离线
    光 离线
    光头恶霸
    写于 最后由 编辑
    #1
    <$let defaultValue="default" >
    <$text text={{{ [<currentTiddler>get[field1]] }}} />
    <$text text={{{ [<currentTiddler>get[field3]else<defaultValue>] }}} />
    <$text text={{{ [<currentTiddler>get[field2]else<currentTiddler>get[field3]] }}} />
    </$let>
    

    我想实现一个功能,就是获取一个字段,如果拿不到,就去取另外一个字段的值。

    直接get或者else后边跟一个值,都试成功了,符合预期。

    但是如果想在后边再接一个get,就有问题了。如果field2没有值,会正确显示field3,如果field2有值,那就会什么都不显示,如果请问应该怎么做。

    55c9e17a-a4de-4e72-b9cb-b2c1e258e3df-image.png

    12e186db-11b1-4e00-80cc-1474c736ab3a-image.png

    1 条回复 最后回复
    0
  • 光 离线
    光 离线
    光头恶霸
    写于 最后由 编辑
    #2

    image.png

    是我理解错了,else 的参数只能是一个字符串,看来必须得先用let定义一个变量,在使用 get else 了。

    1 条回复 最后回复
    1
  • 光 离线
    光 离线
    光头恶霸
    写于 最后由 编辑
    #3

    image.png

    可以使用命名筛选器运行前置码来实现,也就是带冒号的 then/else。

    <$text text={{{ [get[field1]] :else[get[field2]] }}} />
    <$text text={{{ [has[field1]] :then[get[field1]] :else[get[field2]] }}} />
    
    1 条回复 最后回复
    👍
    1

  • 登录

  • 没有帐号? 注册

Powered by NodeBB Contributors
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
  • 太微中文教程
  • 新插件投票看板
  • 登录

  • 没有帐号? 注册