Другой заголовок и название кнопки обновления для всплывающего окна «Добавить и изменить» в Kendo UI Grid (Telerik 2018)

Этот компонент работает, когда у вас есть более одного элемента внутри ветки «if»:

    var Display = React.createClass({
        render: function() {
            if (!this.props.when) {
                return false;
            }
            return React.DOM.div(null, this.props.children);
        }
    });

Использование:

      render: function() {
            return (
                <div>
                    <Display when={this.state.loading}>
                        Loading something...
                        <div>Elem1</div>
                        <div>Elem2</div>
                    </Display>
                    <Display when={!this.state.loading}>
                        Loaded
                        <div>Elem3</div>
                        <div>Elem4</div>
                    </Display>
                </div>
            );
        },

P.s. кто-то считает, что эти компоненты не подходят для чтения кода. Но в моем уме html с javascript хуже

0
задан Saravanan Sachi 16 January 2019 в 03:15
поделиться

1 ответ

Самый простой способ сделать это - привязать событие редактирования сетки, и это позволит вам с легкостью изменить заголовок.

Я предоставил додзё, показывающее, как это сделать. https://dojo.telerik.com/anoceSux

Я просто получил доступ к «модели» редактируемого элемента, и если он считается новым, то меняю заголовок, чтобы создать или иным образом мы знаем, что это элемент, который существует, и поэтому просто поместите правку с названием продукта в заголовке.

Что касается того, что ваш API не перезагружает сетку с новыми данными, то это потому, что вы возвращаете view из его внешнего вида, а не ожидаемый JSON объект, который сетка ищет либо в форма объекта DataRequestResult или каким бы образом вы не отобразили свои данные. Предполагая, что вы отправляете / привязываете объект DataSourceRequest к контроллеру API, вы должны возвращать что-то вроде этого:

public JsonResult SomeAction([DataSourceRequest] DataSourceRequest request, T Model){
 ..do some things here....... 
 return Json(model.ToDataSourceResult(request, ModelState)); 

}

где T - ваша модель обновляемого / создаваемого элемента

[1110 ] Если что-то отсутствует или нуждается в расширении, дайте мне знать, и я обновлю ответ соответственно.

0
ответ дан David Shorthose 16 January 2019 в 03:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: