无法将输入文本字段设置为只读角6

时间:2019-03-18 08:45:58

标签: angular angular6

我的要求是基于值将文本字段设置为只读。 我尝试了两种方法,但都失败了。以下是我的代码。

使用ngClass

HTML代码

<input type="text" [ngClass]="{inputDisabled : data ? true:false}" id="req_name" value={{data.name}}
            name="req_name"> 

Css代码

.inputDisabled {
      pointer-events: none;
      opacity: 0.4;   }

使用只读

    <input [readonly]="data.name === ''? true:false" type="text" value={{data.name}} >
    or
    <input [readonly]="data=== ''? true:false" type="text"  value={{data.name}}>

data是我在组件中声明的变量。最初,在上述情况下,数据为null,那时我需要将textfield设为只读

3 个答案:

答案 0 :(得分:0)

在这里,您需要将dataundefined进行比较,以使条件为true,并且基于此条件您的输入字段将被禁用。

示例-

使用ngClass

<input type="text" [ngClass]="{'disabledDiv': !data }" 
    id="requestor_name" value={{data.name}}
    name="requestor_name">

使用readonly

<input [readonly]="!data" type="text"  value={{data.name}}>

希望这会有所帮助

答案 1 :(得分:0)

这对我来说很好

<input type="text" [ngClass]="{disabledDiv: data ? false:true}" id="requestor_name" value={{data.name}}
            name="requestor_name">

答案 2 :(得分:0)

我认为这些选项之一可能对您有用:

[readonly]="!data"

[class.inputDisabled]="!data"