Element: input自定义模板组件注册的问题

Created on 26 Oct 2016  ·  5Comments  ·  Source: ElemeFE/element

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>

question

Most helpful comment

对的,因为vue现在并不支持通过属性来传递组件,所以目前只支持将这个组件注册成全局组件来被引用

All 5 comments

对的,因为vue现在并不支持通过属性来传递组件,所以目前只支持将这个组件注册成全局组件来被引用

好的

也遇到了同样的问题
伤心

就算是不支持传入组件,但是也可以支持传入template的string啊

@baiyaaaaa 现在似乎可以用 scoped slot 来做了

Was this page helpful?
0 / 5 - 0 ratings