我的 form.service.ts 包含以下数组对象;
readonly userTypesOptions = [
{ value: 'ADMIN', text: 'Administrator' },
{ value: 'MEMBER', text: 'Member' },
{ value: 'GUEST', text: 'Guest' }
];
getUserTypes() {
return this.userTypesOptions;
}
和带有变量的 form.component.ts :
currentUser = 'ADMIN'
我希望从我的HTML模板中的上面的对象中获取关联的文本值。遗憾的是,下面的代码不起作用,因为我不知道如何根据值获取文本。
form.component.html
{{ userTypesOptions[currentUser].text }}
帮助将不胜感激。
答案 0 :(得分:0)
正如@Explosion Pills所说
require(shiny)
require(shinyBS)
shinyApp(ui = fluidPage(
shinyjs::useShinyjs(),
bsTooltip(id = 'input', title = "Lets delay this appearing for 1s and force disappear after 5s",
placement = "bottom", trigger = "hover", options = list(delay = list(show=1000, hide=3000))),
sidebarLayout(
sidebarPanel(
selectInput(inputId = 'input', label = 'input', choices = c('cats','dogs'))
),
mainPanel()
)
)
, server = function(input, output){})
或:
getValue(currentUSER){
let option = this.userTypesOptions.find(opt => opt.value === currentUSER);
return (option || {}).text;
}
并像这样访问它:
readonly userTypesOptions = {
'ADMIN' :'Administrator',
'MEMBER': 'Member' ,
'GUEST':'Guest'
}
答案 1 :(得分:0)
您正在尝试按值而不是键来查找选项类型。
在userTypesOptions中,没有名为' ADMIN'的密钥。 ' ADMIN'是由KEY'值标识的值。
你能做到的是:
readonly userTypesOptions = [
{ 'ADMIN': 'Administrator' },
{ 'MEMBER': 'Member' },
{ 'GUEST': 'Guest' }
];
然后,每当您使用KEY' ADMIN'访问该项目时,您将获得VALUE'管理员'
{{ userTypesOptions[currentUser] }} // <-- renders 'Adminisrator' when currentuser = 'ADMIN'
编辑:我想我的答案不太正确,您还希望将userTypesOptions转换为对象而不是数组,如下所示:
readonly userTypesOptions = {
'ADMIN': 'Administrator',
'MEMBER': 'Member',
'GUEST': 'Guest'
};