首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kendo-UI编辑模板不使用Vue模板单文件组件

Kendo-UI编辑模板不使用Vue模板单文件组件
EN

Stack Overflow用户
提问于 2018-05-23 23:22:20
回答 1查看 1.2K关注 0票数 0

我使用的是KendoUi网格vue包装器,我在kendoui vue文档中发现我可以为kendo模板使用单个文件组件,我正在使用弹出编辑器处理可编辑网格,我所做的是用返回模板和模板args的方法的名称设置属性“ed”,这与kendoui的Vue模板文档相同,但它只是忽略了函数并获得了可编辑的行。

我尝试的另一种方法是设置可编辑属性,如"{mode:' popup ',template: templateMethod}",它弹出编辑窗口,但在内容中只显示"object“。

这是我的密码:

RouterComponent:

代码语言:javascript
复制
<template>
  <c-main>
  <c-row>
	<c-col xs="24" sm="8">
		<c-panel title="Departamento<small>Workflow</small>" style="height:350px;">
			<div class="u-mt-10"><strong>Nombre</strong></div>
			<div class="u-mt-10">{{ $route.params.name }}</div>
			<div class="u-mt-10"><strong>Descripción</strong></div>
			<div class="u-mt-10">{{ $route.params.description }}</div>
		</c-panel>
	</c-col>
	<c-col xs="24" sm="16">
		<c-panel title="Usuarios<small>Administrar</small>" style="height:350px;">
				<kendo-datasource
					ref="usersdatasource"
					:type="'aspnetmvc-ajax'"
					:pageSize="20"
					:server-filtering='true'
					:transport-read-url= "baseServiceUrl+'/api/DepartmentUsers'"
					:transport-read-type="'GET'"
					:transport-read-data-type="'json'"
					:transport-read-data="dataParameters"
					:transport-destroy-url="baseServiceUrl+'/api/DepartmentUsers'"
					:transport-create-url="baseServiceUrl+'/api/DepartmentUsers'"
					:schema-data= "'Data'"
					:schema-total= "'Total'"
					:schema-errors= "'Errors'"
					:schema-model-id="'Id'"
					:schema-model-fields="usersSchemaModelFields"
			  ></kendo-datasource>
			  <kendo-grid
		  id="usersdatagrid"
		  :height="'auto'"
          :dataSourceRef="'usersdatasource'"
		  :toolbar="[ {name:'create', text: 'Agregar Usuario'}]"
          :groupable='false'
          :sortable='true'
		  :filterable='true'
		  :selectable='true'
		  :editable="{ mode: 'popup', template: popupTemplate }"
          :pageable-refresh='true'
          :pageable-page-sizes='true'
          :pageable-button-count="5"
		  >
        <kendo-grid-column
          field="UserName"
          title="Usuario"
		  >
        </kendo-grid-column>
		<kendo-grid-column
          field="DisplayName"
          title="Nombre"
		  >
        </kendo-grid-column>
        <kendo-grid-column 
		:width="150"
		:command="[{name:'destroy', text:'Eliminar' }]" title="Acción">
		</kendo-grid-column>
		
      </kendo-grid>
		</c-panel>
	</c-col>
  </c-row>
  <c-row>
	<c-col xs="24">
	<c-panel title="Reglas<small>Departamento</small>" style="height:400px;">
		<kendo-datasource
            ref="rulesdatasource"
            :type="'aspnetmvc-ajax'"
            :pageSize="20"
            :server-filtering='true'
            :transport-read-url= "baseServiceUrl+'/api/Departments'"
			:transport-read-type="'GET'"
			:transport-read-data-type="'json'"
			:transport-update-url="baseServiceUrl+'/api/Departments'"
			:transport-update-type="'PUT'"
			:transport-update-data-type="'json'"
			:transport-destroy-url="baseServiceUrl+'/api/Departments'"
			:transport-create-url="baseServiceUrl+'/api/Departments'"
			:schema-data= "'Data'"
			:schema-total= "'Total'"
			:schema-errors= "'Errors'"
			:schema-model-id="'Id'"
      ></kendo-datasource>
	  <kendo-grid
		  id="rulesdatagrid"
		  :height="'auto'"
          :dataSourceRef="'rulesdatasource'"
		  :groupable='false'
          :sortable='true'
		  :filterable='true'
		  :selectable='true'
          :pageable-refresh='true'
          :pageable-page-sizes='true'
          :pageable-button-count="5"
		  >
        <kendo-grid-column
          field="UserName"
          title="Usuario"
		  >
        </kendo-grid-column>
		<kendo-grid-column
          field="Nombre"
          title="DisplayName"
		  >
        </kendo-grid-column>
      </kendo-grid>
	  </c-panel>
	</c-col>
  </c-row>
  </c-main>
</template>
<script>
  import Vue from 'vue'
  import UserTemplateVue from './departmentUserTemplate.vue'
  var UserTemplate = Vue.component(UserTemplateVue.name, UserTemplateVue)

  export default {
  name: "AddUserDepartmentView",
  data() {
  return {
  baseServiceUrl: window.baseServiceUrl,
  dataParameters: {
	department: $route.params.Id,
	roles: "WORKFLOW;WORKFLOWADMIN"
  },
  filterConfiguration: [],
  usersSchemaModelFields: {
		Id: { editable: false, nullable: true },
		DisplayName: { validation: { required: true } },
		UserName: { validation: { required: true } },
		Email: { validation: { required: true } },
		TenantId: { validation: { required: true } },
		IsAdmin: { validation: { required: true } }
	}
  }
  },
  methods: {
  popupTemplate: function(e) {
	return {
		template: UserTemplate,
		templateArgs: e
	}
  }
  }

  };
</script>

<style>

#usersdatagrid{
	height:100% !important;
}

#rulesdatagrid{
	height:100% !important;
}

</style>

模板组件:

代码语言:javascript
复制
<template>
    <span>
        <button @click="buttonClick">Click Me</button>
    </span>
</template>

<script>
    export default {
        name: 'template1',
        methods: {
            buttonClick: function (e) {
                alert("Button click")
            }
    },
        data () {
        return {
            templateArgs: {}
            }
    }
    }
</script>

请帮我处理这个。

非常感谢

EN

回答 1

Stack Overflow用户

发布于 2018-12-21 16:55:38

我知道这是旧的,但是我在寻找相关的东西时偶然发现了这个,所以我想我应该尝试一下,作为将来的参考。

我建议在这里尝试两件事:

  1. 确保您的组件具有指定的名称。
  2. 尝试使用:editable-mode="popup;"editable-template="popupTemplate"

这对我起了作用。不管出于什么原因,当我将一个对象传递给可编辑时,它就是不高兴。

希望这能帮上忙!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50498786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档