React antd中Button组件禁用问题

Button组件的disabled中使用一个判断语句,selectRowKeys为[],但Button按钮没有被禁用

相关代码

    state = {
        commnet: [],
        selectedRowKeys: [],  // Check here to configure the default column
        input1Value: '',
        input2Value: '',
        dateRange: ['', '']
    }
                <Button
                    type="danger"
                    disabled={this.state.selectedRowKeys === []}
                    style={{ marginTop: '10px' }}
                    onClick={this.commentDelete}
                >
                    批量删除
                </Button>

希望有大佬能解答一下这个问题,给一个解决方案。

阅读 6.5k
1 个回答

1.this.state.selectedRowKeys是一个数组,为引用类型;[]也是个数组,为引用类型。引用类型比较的时候,比较的是引用指向的地址而不是值本身。
参考:值引用与对象引用
2.就这个问题而言要判断数组是否为空。可以判断它的length属性,或者转换为字符串比较:
a.this.state.selectedRowKeys.length === 0
b.this.state.selectedRowKeys.toString() === ''
其本质都是转化为原始类型做比较。
3.附上一个简单的说明代码:

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题