react项目,想根据变量来控制select是否可以下拉,为啥disabled属性无论等于true还是等于false页面都是不允许下拉?

select标签的disabled属性设置等于true或者等于false,为啥在页面中都是不可下来的状态?
把disabled属性去掉后就可以下拉了
哪怎么用变量控制是否可下拉呀?
image.pngimage.png

            <Col span={5}>
              {/**源库位**/}
              <FormItem
                {...itemLayout}
                label={<FormattedMessage {...messages.YKW} />}
              >
                {getFieldDecorator(`names5_${k}`, {
                  initialValue: "",
                  rules: [
                    {
                      required: true,
                      whitespace: true,
                      message: <FormattedMessage {...messages.QXZYKW} />,
                    },
                  ],
                })(
                  <Select
                    showSearch
                    allowClear
                    optionFilterProp="children"
                    id="names5_${k}"
                    disabled ="false"
                  >
                    {this.state.locationData.map((item, index) => {
                      return (
                        <Select.Option
                          value={item.locationCode + "," + item.sendSpot}
                          key={index}
                        >
                          {item.locationCode}({item.sendSpot})
                        </Select.Option>
                      );
                    })}
                  </Select>
                )}
              </FormItem>
            </Col>
阅读 2.8k
5 个回答

image.png
第一个问题:

id="names5_${k}"  你的 k 如果是动态的这是错的
id=`name5_${k}` 这才是字符串模板

第二个问题:
image.png

disabled="false" 这是个 字符串 这里一直是 true
disabled={false} 这个花括号里的可以传入变量

jsx的写法不应该是disabled={false}

jsxdisabled="" 双引号里面的都是字符串,你要这样写 disabled={false}

还有:

number={1}1number 类型;number="1"1string 类型

新手上路,请多包涵

'false' == true

let disabled  =  true;
<Select
    showSearch
    allowClear
    optionFilterProp="children"
    id="names5_${k}"
    disabled ={disabled}
  >
    {this.state.locationData.map((item, index) => {
      return (
        <Select.Option
          value={item.locationCode + "," + item.sendSpot}
          key={index}
        >
          {item.locationCode}({item.sendSpot})
        </Select.Option>
      );
    })}
  </Select>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏