Как изменить заголовок столбцов развернуть / свернуть детали для строк подробностей в кендо реагировать? - PullRequest
0 голосов
/ 02 мая 2019

Мне нужно добавить текст «+/-» в заголовок столбца свертывания / раскрытия для деталей, реагирующих на кендо.Я также хочу добавить и событие, поэтому, когда пользователь нажимает на этот столбец, он раскрывает или сворачивает все строки.Я использовал this для создания строк сведений.

Это изображение лучше показывает, что я хочу изменить

Ответы [ 2 ]

0 голосов
/ 07 мая 2019

Обновление:

Telerik предоставил ответ на этот вопрос: https://stackblitz.com/edit/react-abh1id?file=app/main.jsx

Оригинал:

Я отладил библиотеку кендо-реакции, и это невозможночтобы это произошло.Я открыл запрос функции для кендо React https://feedback.telerik.com/kendo-react-ui/1408002-change-header-detail-rows

0 голосов
/ 03 мая 2019

Пожалуйста, посмотрите на этот фрагмент кода, он добавляет метку сетки и функцию onclick Часть, которую я не понял, это переключение на развал / развал. Я также сталкивался с этим свойством expandField , но я не знаю, как его использовать.

class DetailComponent extends GridDetailRow {
    render() {
        const dataItem = this.props.dataItem;
        return (
            <section>
                <p><strong>In Stock:</strong> {dataItem.UnitsInStock} units</p>
                <p><strong>On Order:</strong> {dataItem.UnitsOnOrder} units</p>
                <p><strong>Reorder Level:</strong> {dataItem.ReorderLevel} units</p>
                <p><strong>Discontinued:</strong> {dataItem.Discontinued}</p>
                <p><strong>Category:</strong> {dataItem.Category.CategoryName} - {dataItem.Category.Description}</p>
            </section>
        );
    }
}

class App extends React.Component {
    state = {
        data: products.slice(0)
    }

    expandChange = (event) => {
        event.dataItem.expanded = !event.dataItem.expanded;
        this.forceUpdate();
    }

    render() {
        return (
            <Grid
                data={this.state.data}
                detail={DetailComponent}
                style={{ height: '400px' }}
                expandField="expanded"
                onExpandChange={this.expandChange}
            >
                <Column field="ProductName" title="Product" width="300px" />
                <Column field="ProductID" title="ID" width="50px" />
                <Column field="UnitPrice" title="Unit Price" width="100px" />
                <Column field="QuantityPerUnit" title="Qty Per Unit" />
            </Grid>            
        );
    }
}

class ShowAlert extends React.Component {
  showAlert() {
    alert("Im an alert");
  }

  render() {
    return <a className='k-link' onClick={this.showAlert}>+/-</a>;
  }
}

export default ShowAlert;

ReactDOM.render(
    <App />,
    document.querySelector('my-app')
);

const heirarchyElement = document.getElementsByClassName("k-hierarchy-cell")[0];
ReactDOM.render(<ShowAlert />, heirarchyElement);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...