Javascript 在Angular中使用下拉菜单显示/隐藏div元素?

Javascript 在Angular中使用下拉菜单显示/隐藏div元素?,javascript,html,css,angular,Javascript,Html,Css,Angular,我是新来的。我想使用下拉选择菜单显示/隐藏文件div。如果选择“自定义”,它将显示文件元素。但是我选择none,如果有任何元素,它将隐藏并删除文件。我无法显示隐藏的文件元素。请提供一些反馈 资格证书 选择一个选项 没有一个 风俗 首先,它不是角度JS,它看起来像角度2+。 关于你的问题: [value]="..." only supports string values [ngValue]="..." supports any type, including boolean e、 g 也试着使

我是新来的。我想使用下拉选择菜单显示/隐藏文件div。如果选择“自定义”,它将显示文件元素。但是我选择none,如果有任何元素,它将隐藏并删除文件。我无法显示隐藏的文件元素。请提供一些反馈

资格证书 选择一个选项 没有一个 风俗
首先,它不是角度JS,它看起来像角度2+。 关于你的问题:

[value]="..." only supports string values
[ngValue]="..." supports any type, including boolean
e、 g

也试着使用代替ngModel

    <div class="form-group">
  <label for="credentials">Credentials</label><br/>
  <select name="select_file" class="form-control" required [(ngModel)]="myVar">
    <option value="">Choose a option</option>
    <option value="false">none</option>
    <option value="true">custom</option>
</select>
<div *ngIf="myVar === true">
    <input 
    type="file" 
    class="form-control" 
    id="credentials" 
    accept=".json"
    [(ngModel)]="userdata.credentials"
    (change)="handleFileInput($event.target.files)"
    name="credentials" 
    >
  </div>
您需要使用ngModel。
在Ts文件中,只需定义myVar变量。请尝试此代码。

您的答案是正确的。但值被[ngValue]替换,因为它支持任何类型,包括布尔值。@YatishBathla您是对的,值始终是字符串。但在我们的情况下,我想这不会引起任何问题。因为在div中我们有myVar==true的if条件,所以它也不允许空字符串。只有value true才会被允许。我已经尝试了value,但当我点击自定义选项时,文件div不可见。哦,好的,对不起,我的错误。我忘了报价了。试试这个*ngIf=myVar=='true'。
    <div class="form-group">
  <label for="credentials">Credentials</label><br/>
  <select name="select_file" class="form-control" required [(ngModel)]="myVar">
    <option value="">Choose a option</option>
    <option value="false">none</option>
    <option value="true">custom</option>
</select>
<div *ngIf="myVar === true">
    <input 
    type="file" 
    class="form-control" 
    id="credentials" 
    accept=".json"
    [(ngModel)]="userdata.credentials"
    (change)="handleFileInput($event.target.files)"
    name="credentials" 
    >
  </div>