input的自定义模板是不是一定要全局注册组件才能使用,而不能用以下的方式import进来使用,因为以下这种方式会报my-item未注册
<el-autocomplete
class="my-autocomplete"
v-model="state3"
:fetch-suggestions="querySearch"
custom-item="my-item"
placeholder="请输入内容"
@select="handleSelect"
></el-autocomplete>
<script>
import MyItem from "./MyItem"
export default {
components: {
MyItem
},
data() {
return {
restaurants: [],
state3: ''
};
},
methods: {
querySearch(queryString, cb) {
var restaurants = this.restaurants;
var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
// 调用 callback 返回建议列表的数据
cb(results);
},
createFilter(queryString) {
return (restaurant) => {
return (restaurant.value.indexOf(queryString.toLowerCase()) === 0);
};
},
loadAll() {
return [
{ "value": "三全鲜食(北新泾店)", "address": "长宁区新渔路144号" },
{ "value": "Hot honey 首尔炸鸡(仙霞路)", "address": "上海市长宁区淞虹路661号" },
{ "value": "新旺角茶餐厅", "address": "上海市普陀区真北路988号创邑金沙谷6号楼113" },
{ "value": "泷千家(天山西路店)", "address": "天山西路438号" }
];
},
handleSelect(item) {
console.log(item);
}
},
mounted() {
this.restaurants = this.loadAll();
}
}
</script>
对的,因为vue现在并不支持通过属性来传递组件,所以目前只支持将这个组件注册成全局组件来被引用
好的
也遇到了同样的问题
伤心
就算是不支持传入组件,但是也可以支持传入template的string啊
@baiyaaaaa 现在似乎可以用 scoped slot 来做了
Most helpful comment
对的,因为vue现在并不支持通过属性来传递组件,所以目前只支持将这个组件注册成全局组件来被引用