Antd развернуть таблицу значков, только когда тот же имеет детей - PullRequest
0 голосов
/ 27 сентября 2019

Я видел здесь вопрос о значке раскрытия таблицы в antd, но, следуя этой функции, значок появляется на каждой таблице, даже если он не имеет детей, кто-то знает, как отфильтровать этот значок, появляется толькокогда столбец таблицы получит детей?это код:

customExpandIcon(props) {
if (props.expanded) {
    return <a style={{ color: 'black' }} onClick={e => {
        props.onExpand(props.record, e);
    }}><Icon type="minus" /></a>
} else {
    return <a style={{ color: 'black' }} onClick={e => {
        props.onExpand(props.record, e);
    }}><Icon type="plus" /></a>
}}


<Table
expandIcon={(props) => this.customExpandIcon(props)}
... />

1 Ответ

0 голосов
/ 30 сентября 2019

Вы можете сделать это, используя параметр props, переданный в пользовательскую функцию значков, однако мне нужно знать вашу структуру данных, чтобы дать более конкретные указания.По сути, вы можете проверить, существует ли props.record.myArrayofChildren, и использовать его в качестве переключателя для возврата вашего значка или пустого тега.Что-то вроде:

customExpandIcon(props) {
if (props.record.myChildArray.length < 1) {
  return <span></span> //Empty tag, as I think Typescript requires you to return a JSX node
}
if (props.expanded) {
    return <a style={{ color: 'black' }} onClick={e => {
        props.onExpand(props.record, e);
    }}><Icon type="minus" /></a>
} else {
    return <a style={{ color: 'black' }} onClick={e => {
        props.onExpand(props.record, e);
    }}><Icon type="plus" /></a>
}

}

...