跳转至内容
  • 最新
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
  • 太微中文教程
  • 新插件投票看板
皮肤
  • 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

太微中文论坛

  1. 首页信息流
  2. 版块
  3. 讨论
  4. 求助,使用get[filedName]获取字段信息的时候,如何嵌套

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

已定时 已固定 已锁定 已移动 讨论
3 帖子 1 发布者 66 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 光 离线
    光 离线
    光头恶霸
    写于 最后由 编辑
    #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
        • 最新
        • 版块
        • 标签
        • 热门
        • 用户
        • 群组
        • 太微中文教程
        • 新插件投票看板