Vuejs2 如何预先选择";软件实体多选“;加载时数据库中的组件值
我在Shopware 6的自定义vue组件中使用Vuejs2 如何预先选择";软件实体多选“;加载时数据库中的组件值,vuejs2,shopware,Vuejs2,Shopware,我在Shopware 6的自定义vue组件中使用sw entity multi-select作为产品下拉列表 <sw-entity-multi-select entity="product" :criteria="listingCriteria" :entityCollection="products" :isLoading="isLoading"
sw entity multi-select
作为产品下拉列表
<sw-entity-multi-select
entity="product"
:criteria="listingCriteria"
:entityCollection="products"
:isLoading="isLoading"
@change="setProduct"
:label="$tc('sw-cms.elements.productSlider.config.placeholder.selection')"
:placeholder="$tc('sw-cms.elements.productSlider.config.placeholder.selection')"
>
</sw-entity-multi-select>
我是这样取产品的:
getProducts () {
this.products = new EntityCollection(
this.productRepository.route,
this.productRepository.entityName,
Context.api
)
if (this.productIds.length <= 0) {
return Promise.resolve()
}
this.listingCriteria.setIds(this.productIds)
return this.productRepository.search(this.listingCriteria, Context.api).then((items) => {
this.products = items
})
},
setProduct (collection) {
this.productIds = collection.getIds()
this.products = collection
},
getProducts(){
this.products=新实体集合(
this.productRepository.route,
this.productRepository.entityName,
Context.api
)
if(this.productIds.length{
此项。产品=项目
})
},
setProduct(集合){
this.productIds=collection.getIds()
这个产品=收集
},
第一次保存ID时一切正常,但我无法在重新加载时再次填充保存的产品
如果我从数据库中的值设置this.productIds
,例如response.data.productIds
,并调用this.getProducts()
,它会很好地选择这些产品,但只有这2或3个产品在下拉列表中可用,搜索其他产品会显示“无结果”消息
简而言之,我不能再添加其他产品了。有什么建议吗
我正在为其他一些实体使用常规的
,它工作得很好,因为这些实体的记录不到500条。但对于这些产品,我有超过150k个产品,因此我无法一次将它们全部填充在一起,因此我需要
的功能,因为它会根据请求调用其他产品,并且我可以在下拉列表中最初加载25或50个产品。如果有人发现这一点,我通过在组件上设置productIds
为v-model
解决了这个问题。如果有人偶然发现这个问题,我通过在组件上设置productIds
为v-model
解决了这个问题。在createdComponent()中调用getProducts()方法吗例如,要初始化您的多选组件?@ValeriiPravoslavnyi Yes I doDo您在createdComponent()中调用getProducts()方法吗?例如,要初始化您的多选组件?@ValeriiPravoslavnyi Yes I do