J'ai récemment utilisé elementui pour un projet et j'ai rencontré quelques problèmes.
Exigence : après avoir sélectionné le contenu de l'invite, attribuez une valeur à l'identifiant de la ligne correspondante dans la table de données (l'arrière-plan nécessite que l'identifiant soit transmis, pas la valeur d'entrée).
Question : L'imbrication de tables personnalisées a une entrée rapide et l'API de la fonction de sélection est livrée avec un paramètre. Après avoir ajouté une ligne de paramètres supplémentaire, je ne parviens pas à obtenir les données actuellement sélectionnées ?
<el-table-column align="center" prop="futuresContractId" label="采购合约" width="120">
<template scope="scope">
<el-autocomplete
class="inline-input1"
v-model="scope.row.id"
:value="scope.row.futuresContractId"
:fetch-suggestions="querySearch"
placeholder="请输入"
:trigger-on-focus="false"
@select="handleSelect(scope.row)"
>
</el-autocomplete>
</template>
</el-table-column>
querySearch(queryString, cb) {
var restaurants = [
{id:2,name:"M1701",value:"M1701"},
{id:4,name:"M1705",value:"M1705"}
{id:8,name:"M1709",value:"M1709"}
];
var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
// 调用 callback 返回建议列表的数据
cb(results);
},
createFilter(queryString) {
return (restaurant) => {
return (restaurant.value.indexOf(queryString.toLowerCase()) >= 0);
};
},
handleSelect(row) {
console.log(row) //?这里可以把当前行row传过来,疑问是如何把选中的值id传给当前的row的id?
//如不带参数过来,默认参数就是选中的restaurants元素
},
Votre façon de penser est encore une ancienne façon de penser, et il n'y a aucun moyen d'en profiter
VueJS
.Autocomplete
组件,当你选择以后,直接就会把Value
赋值给你的v-model="scope.row.id"
的了。所以你的疑问疑问是如何把选中的值id传给当前的row的id?
Pas une question.J'ai créé un exécutable basé sur votre code. Veuillez y jeter un œil. Si votre compréhension est incorrecte, veuillez le signaler à temps.
https://jsfiddle.net/j6toc479/3/