Как мне избавиться от всех предупреждений «Предупреждать, что this.name может быть пустым»? - PullRequest
1 голос
/ 18 июня 2019

В моем файле Cat.view.bxb у меня есть некоторые элементы пользовательского интерфейса, основанные на необязательных свойствах в структуре, к которым прикреплены предупреждения.

ПРЕДУПРЕЖДЕНИЕ. This.name может быть пустым

result-view{
  match {
    Cat (this)
  }
  render {
    layout {
      section {
        content {
          paragraph {
            style (Title_XS)
            value ("#{value(this.name)}")

          }
        }
      }
    }
  }
}

Ответы [ 2 ]

1 голос
/ 18 июня 2019

, если (существует) работает и уже сформулирован одним способом и предоставляет отличный контекст для пользователя.Другим способом, который может быть предпочтительным в определенных обстоятельствах, является использование обозначения [] в квадратных скобках - если раздел в квадратных скобках принимает значение NULL, то этот раздел пропускается.Итак, для вашего примера:

result-view{
  match {
    Cat (this)
  }
  render {
    layout {
      section {
        content {
          paragraph {
            style (Title_XS)
            value ("[#{value(this.name)}]")
          }
        }
      }
    }
  }
}
0 голосов
/ 18 июня 2019

Предупреждения служат для напоминания о том, что определенные вами элементы пользовательского интерфейса не будут отображаться, если дополнительные свойства отсутствуют.

Вы должны определить if(exists(this.name)) и определить элементы пользовательского интерфейса, когда дополнительные элементы недоступны.

Например, ваш код будет выглядеть примерно так:

result-view{
  match {
    Cat (this)
  }
  render {
    layout {
      section {
        content {
          if(exists(this.name)) {
            paragraph {
              style (Title_XS)
              value ("#{value(this.name)}")
            } 
          } else {
            paragraph {
              style (Title_XS)
              value("No name!")
            }
          }
        }
      }
    }
  }
}

Тем самым вы устраняете причину предупреждения и создаете более отзывчивый вывод для своих пользователей.

...