在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 文本框不可編輯 es6

文本框不可編輯 es6

if(!this.props.state){
    document.getElementById("channelGoodCode").setAttribute("readOnly","false");
}
<Input id="channelGoodCode"/>

為什么控制臺 setAttribute 報錯

我要實現(xiàn)的功能是商品上架 選擇“所屬渠道”select 如果已上架的話 讓這個文本框不可編輯

回答
編輯回答
陌顏

你的id沒掛載上去吧

class Input extends React.PureComponent {
  render() {
    return <input id={this.props.id} type="text"/>;
  }
}

另外建議用ref或者用props傳遞

this.state={
    aaa:false
}//改變aaa

<Input readOnly={this.state.aaa}/>

class Input extends React.PureComponent {
  render() {
    return <input  type="text" readOnly={this.props.readOnly}/>;
  }
}
2017年11月8日 14:11
編輯回答
替身

求求你們在react里盡量不要用dom操作了!
可以這樣

render(){
    let {state} = this.props;
    return (
        ...
        <Input id="channelGoodCode" readOnly={state} />
        ...
    )
}
2018年5月11日 17:34
編輯回答
孤巷
// 可編輯
input.removeAttribute('readonly');

// 不可編輯
input.setAttribute('readonly', 'readonly');
2017年12月4日 06:48